Theolizer
Version.1.2.0
serializer for C++ / Do you want to update your classes easily ?
avoid-trouble.h
1
//############################################################################
2
// コンパイラや外部ライブラリのトラブル回避措置
3
/*
4
© 2016 Theoride Technology (http://theolizer.com/) All Rights Reserved.
5
"Theolizer" is a registered trademark of Theoride Technology.
6
7
"Theolizer" License
8
In the case where you are in possession of a valid “Theolizer” License,
9
you may use this file in accordance with the terms and conditions of
10
the use license determined by Theoride Technology.
11
12
General Public License Version 3 ("GPLv3")
13
You may use this file in accordance with the terms and conditions of
14
GPLv3 published by Free Software Foundation.
15
Please confirm the contents of GPLv3 at https://www.gnu.org/licenses/gpl.txt .
16
A copy of GPLv3 is also saved in a LICENSE.TXT file.
17
18
商用ライセンス
19
あなたが有効なTheolizer商用ライセンスを保持している場合、
20
セオライド テクノロジーの定める使用許諾書の条件に従って、
21
このファイルを取り扱うことができます。
22
23
General Public License Version 3(以下GPLv3)
24
Free Software Foundationが公表するGPLv3の使用条件に従って、
25
あなたはこのファイルを取り扱うことができます。
26
GPLv3の内容を https://www.gnu.org/licenses/gpl.txt にて確認して下さい。
27
またGPLv3のコピーをLICENSE.TXTファイルにおいてます。
28
*/
29
//############################################################################
30
31
#if !defined(THEOLIZER_INTERNAL_AVOID_TROUBLE_H)
32
#define THEOLIZER_INTERNAL_AVOID_TROUBLE_H
33
34
// ***************************************************************************
35
// MSVCのセキュリティ警告を止める
36
// ***************************************************************************
37
38
#if defined(_MSC_VER) // disabling MSVC warnings
39
#ifndef _SCL_SECURE_NO_WARNINGS
40
#define _SCL_SECURE_NO_WARNINGS
41
#endif
42
#endif
43
44
// ***************************************************************************
45
// MinGW 5.2.0の不具合と思われるもの
46
// ***************************************************************************
47
48
#if defined(__MINGW32__)
49
#if (__GNUC__ == 5) && (__GNUC_MINOR__ >= 2)
50
51
//----------------------------------------------------------------------------
52
// localtime_r()とlocaltime_r()がundefinedになる問題対策
53
//----------------------------------------------------------------------------
54
55
#define _POSIX_C_SOURCE 200809L
56
57
#endif
58
#endif
59
60
// ***************************************************************************
61
// MinGW/gccとboostの組み合わせで発生する問題
62
// ***************************************************************************
63
64
#define THEOLIZER_INTERNAL_PRAGMA(x) _Pragma(#x)
65
66
//----------------------------------------------------------------------------
67
// boostの一部(format.hpp等)をインクルードすると
68
// boost、および、標準ライブラリのヘッダでauto_ptr警告が表示される
69
// boostをインクルードする前に定義する
70
//----------------------------------------------------------------------------
71
72
#if defined(__GNUC__)
73
#define THEOLIZER_INTERNAL_DISABLE_WARNING() \
74
THEOLIZER_INTERNAL_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")\
75
THEOLIZER_INTERNAL_PRAGMA(GCC diagnostic ignored "-Wunused-variable")\
76
THEOLIZER_INTERNAL_PRAGMA(GCC diagnostic ignored "-Wunused-local-typedefs")
77
#define THEOLIZER_INTERNAL_DISABLE_WARNING_SIGN_COMPARE() \
78
THEOLIZER_INTERNAL_PRAGMA(GCC diagnostic ignored "-Wsign-compare")
79
#else
80
#define THEOLIZER_INTERNAL_DISABLE_WARNING()
81
#define THEOLIZER_INTERNAL_DISABLE_WARNING_SIGN_COMPARE()
82
#endif
83
84
#endif // THEOLIZER_INTERNAL_AVOID_TROUBLE_H
Theolizer
source
library
theolizer
internal
avoid-trouble.h
© 2016
Theoride Technology
All Rights Reserved. "Theolizer" is a registered trademark of Theoride Technology.
構築:
1.8.12