3 回答

TA貢獻1799條經驗 獲得超6個贊
對于使用CMake的用戶,您可以修改include_directories指令以包括SYSTEM禁止顯示此類標題警告的符號。
include_directories(SYSTEM "${LIB_DIR}/Include")
^^^^^^

TA貢獻1796條經驗 獲得超7個贊
您可以使用編譯指示。例如:
// 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貢獻1998條經驗 獲得超6個贊
#pragma是對編譯器的指令。您可以在#include之前設置某些內容,并在之后將其禁用。
您也可以在命令行中執行此操作。
另一個GCC頁面專門關于禁用警告。
我會選擇在源代碼中使用#pragma,然后提供您為什么禁用警告的 合理原因(作為注釋)。這意味著要對頭文件進行推理。
GCC通過對警告類型進行分類來解決此問題。您可以將它們分類為警告或被忽略。先前鏈接的文章將向您顯示可能禁用了哪些警告。
注意:您也可以使用屬性按摩源代碼以防止某些警告。但是,這使您與GCC緊密相關。
注意2:GCC還使用了Microsoft編譯器中使用的pop / push接口 -Microsoft通過此接口禁用警告。我建議您對此進行進一步調查,因為我什至不知道是否有可能。
添加回答
舉報