2016-12-15 66 views
1

我在項目中使用了Clang 3.8的一些C++ 14功能。構建系統CMake的,所以我跑鐺靜態分析是這樣的:在Qt Creator 4.0中啓用C++ 14使用CMake的Clang靜態分析器

$ scan-build cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=clang \ 
/path/to/source 
$ scan-build make 

這種方式構建和分析工作得很好,但我也想通過GUI整合使用它從Qt Creator的。 - 當我按下分析>鏘靜態分析器,鐺在第一文件中使用C++ 14個特徵與非零錯誤代碼和錯誤等停止:

error: <a_cool_c++14_feature> is a C++14 extension 

我加入

set(CMAKE_C_STANDARD 11) 
set(CMAKE_C_STANDARD_REQUIRED TRUE) 
set(CMAKE_CXX_STANDARD 14) 
set(CMAKE_CXX_STANDARD_REQUIRED TRUE) 

到我最高的CMakeLists.txt,但它沒有奏效。我也試着爲CXX_STANDARD設置了set_property命令,但是我在Qt Creator中獲得了相同的結果,而從控制檯手動建立的效果很好。

如何在Qt Creator GUI的Clang Static Analyzer中使用C++ 14?

+0

http://baptiste-wicht.com/posts/2014/04 /install-use-clang-static-analyzer-cmake.html應與Qt Creator無關。 – usr1234567

回答

3

嘗試在Option> C++> Code Model中添加-std=c++14

我的是這樣的:

-Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-unused-macros -Wno-newline-eof -Wno-exit-time-destructors -Wno-global-constructors -Wno-gnu-zero-variadic-macro-arguments -Wno-documentation -Wno-shadow -Wno-missing-prototypes -Wsuggest-override -std=c++14 

注: 你必須重新打開每個文件才能生效。 如果你不能編輯它,你必須先啓用插件「代碼模型」(幫助>關於插件...)並重新啓動QtCreator

相關問題