3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
對(duì)于使用CMake的用戶,您可以修改include_directories指令以包括SYSTEM禁止顯示此類標(biāo)題警告的符號(hào)。
include_directories(SYSTEM "${LIB_DIR}/Include")
^^^^^^

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用編譯指示。例如:
// save diagnostic state
#pragma GCC diagnostic push
// turn off the specific warning. Can also use "-Wall"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/lexical_cast.hpp>
// turn the warnings back on
#pragma GCC diagnostic pop

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
#pragma是對(duì)編譯器的指令。您可以在#include之前設(shè)置某些內(nèi)容,并在之后將其禁用。
您也可以在命令行中執(zhí)行此操作。
另一個(gè)GCC頁(yè)面專門關(guān)于禁用警告。
我會(huì)選擇在源代碼中使用#pragma,然后提供您為什么禁用警告的 合理原因(作為注釋)。這意味著要對(duì)頭文件進(jìn)行推理。
GCC通過(guò)對(duì)警告類型進(jìn)行分類來(lái)解決此問(wèn)題。您可以將它們分類為警告或被忽略。先前鏈接的文章將向您顯示可能禁用了哪些警告。
注意:您也可以使用屬性按摩源代碼以防止某些警告。但是,這使您與GCC緊密相關(guān)。
注意2:GCC還使用了Microsoft編譯器中使用的pop / push接口 -Microsoft通過(guò)此接口禁用警告。我建議您對(duì)此進(jìn)行進(jìn)一步調(diào)查,因?yàn)槲沂仓敛恢朗欠裼锌赡堋?/p>
- 3 回答
- 0 關(guān)注
- 691 瀏覽
添加回答
舉報(bào)