1.Windows平臺(tái)類型沖突
INT,UINT,DWORD ,FLOAT,TRUE ,FALSE 宏沖突
#include "Windows/AllowWindowsPlatformTypes.h"
你的頭文件
#include "Windows/HideWindowsPlatformTypes.h"
2.自增自減鎖沖突
InterlockedIncrement嵌莉,InterlockedDecrement類一些列鎖沖突
#include "Windows/AllowWindowsPlatformAtomics.h"
你的頭文件
#include "Windows/HideWindowsPlatformAtomics.h"
3.第三方庫引起的警告
THIRD_PARTY_INCLUDES_START
你的頭文件
THIRD_PARTY_INCLUDES_END
以上部分可以合并在一起,寫成:
#if PLATFORM_WINDOWS
#include "Windows/AllowWindowsPlatformTypes.h"
#include "Windows/AllowWindowsPlatformAtomics.h"
THIRD_PARTY_INCLUDES_START
你的頭文件
THIRD_PARTY_INCLUDES_END
#include "Windows/HideWindowsPlatformAtomics.h"
#include "Windows/HideWindowsPlatformTypes.h"
#endif
4.宏重定義的問題
CONSTEXPR惊畏,check草添,dynamic_cast嚷节,PI四個(gè)宏會(huì)出現(xiàn)重定義的問題啊犬,在包含頭文件前使其無效化,然后恢復(fù)有效化就行了嫉入。
#if PLATFORM_WINDOWS
#pragma push_macro("CONSTEXPR")
#undef CONSTEXPR
#pragma push_macro("check")
#undef check
#pragma push_macro("dynamic_cast")
#undef dynamic_cast
#pragma push_macro("PI")
#undef PI
你的頭文件
#pragma pop_macro("PI")
#pragma pop_macro("check")
#pragma pop_macro("dynamic_cast")
#pragma pop_macro("CONSTEXPR")
#endif