Qt5 "Clang Code Model" 一些設置
來源 https://www.cnblogs.com/cppskill/p/11745893.html
1、有些設置 可能這里在設置了,到別的地方(例如換了一個機子) 又要設置,這樣的話 在不熟練的時候 手動敲進去會比較慢,這里 先記錄下來 以后要用 直接復制就行了
2、Qt5.9.8 vs2017 :Tools > Options > C++ > Code Model > Clang Code Model > Manage
"Diagnostic Configuration" 默認選中的是 "Clang-only checks for almost everything [built-in]",然后 我將它 "Copy..."一下,名字命名為"Clang-only checks for almost everything (CopyByZC)"
於是 它現在的內容為:
-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-switch-enum -Wno-missing-prototypes -Wno-used-but-marked-unused
然后 再在 "Diagnostic Configuration"中選擇 "Clang-only checks for almost everything (CopyByZC)"
3、后加的內容也記錄下來,方便以后直接復制(而不用一直重復的手動一一敲入)
3.1、20191120 里面的內容為:
-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-switch-enum -Wno-missing-prototypes -Wno-used-but-marked-unused -Wno-old-style-cast -Wno-sign-conversion -Wno-deprecated-declarations -Wno-reserved-id-macro -Wno-undef -Wno-reorder -Wno-cast-qual -Wno-nonportable-system-include-path -Wno-cast-align -Wno-zero-as-null-pointer-constant -Wno-microsoft-goto
3.2、20191127:
-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-switch-enum -Wno-missing-prototypes -Wno-used-but-marked-unused -Wno-old-style-cast -Wno-sign-conversion -Wno-deprecated-declarations -Wno-reserved-id-macro -Wno-undef -Wno-reorder -Wno-cast-qual -Wno-nonportable-system-include-path -Wno-cast-align -Wno-zero-as-null-pointer-constant -Wno-microsoft-goto -Wno-format-nonliteral
------------------------------
一個 Code Mode 誤報的例子
/* * Clang Code Model 的誤報 * 編譯器錯誤帶有純紅色的點,代碼模型錯誤帶有帶框的點 * * The project compiled and ran normally, even with the error * https://bugreports.qt.io/browse/QTCREATORBUG-22656 * * main.cpp:7:1: error: cannot initialize a parameter of type 'const char *' with an rvalue of type 'int' * qtest.h:446:5: note: expanded from macro 'QTEST_MAIN' * qtest.h:364:74: note: expanded from macro 'QTEST_SET_MAIN_SOURCE_PATH' * 16:30: note: expanded from here * qtestcase.h:302:75: note: passing argument to parameter 'builddir' here */
QTEST_MAIN(CommodityTest)
============ End