2015-09-29 25 views
0

我的項目warnlevel是/ w3。 我想啓用警告級別爲4的單個警告。 如「C4296'運算符':表達式始終爲false」如何在Visual Studio中啓用特定的C++警告

如何在CMake文件的cxx標誌中執行此操作?

+0

從什麼意義上說,您的Visual Studio項目與CMake集成在一起?我並不知道它們可以裝在一起。 http://stackoverflow.com/q/395169/560648 http://stackoverflow.com/q/4151908/560648 –

+1

請參閱https://msdn.microsoft.com/en-us/library/thxezb7y.aspx *「例如,/ w14326導致C4326生成爲1級警告。「* –

回答

2

只需添加到您的主CMakeLists.txt(CMake的版本> = 2.8.12)通常

add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34296>") 

或(用於提示感謝@tambre)只是一個具體的目標

target_add_compile_options(MyTarget "$<$<CXX_COMPILER_ID:MSVC>:/w34296>") 

的shwon generator expression將針對MSVC編譯器(對於VC警告選項,請參閱link,由@Richard Critten提供)將警告級別4添加到警告級別3

在我給出的答案here的回答中可以找到更多使用Visual Studio項目中的CMake設置編譯選項的可能性。

-1

此代碼適用於我。

#enable compiler warning C4296 in warnlevel 3 
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w34296 ") 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w34296 ") 
+0

這非常可怕,因爲它爲您的項目中的* all *其他編譯單元設置了選項。現代CMake中不應再使用這些變量。 – tambre

相關問題