我通常喜歡在Visual Studio中針對警告級別4編譯並將所有警告視爲錯誤。問題是,Ogre3D沒有編譯時出現警告級別3(FBX SDK或OIS,我也在使用它),並且這帶來了一個問題,因爲現在我有大量來自Ogre3D庫的警告,這些警告現在被視爲錯誤。到目前爲止,我一直在3級編譯,但這讓我非常不安。有什麼辦法可以禁用我無法控制的特定第三方庫的警告嗎?更改第三方庫的警告級別
6
A
回答
7
你不說你究竟是如何編制的,但這裏有一些選擇:
1 - Visual Studio內部的,您可以爲單個源文件的警告級別通過爲每個源文件
2的屬性 - 您也可以動態改變使用文件中的警告級別
#pragma warning(push, 3)
// Some code, perhaps #includes
#pragma warning(pop)
它將警告等級設置爲兩個編譯指示之間的3。
3
這可能是因爲如果您禁用了最知名的MSVC愚蠢警告,問題至少會成爲可管理的。
我的愚蠢警告抑制標題爲my blog;使用MSVC在警告級別4使用<windows.h>
編譯代碼就足夠了,而且沒有任何警告。
除此之外,您可以採用「編譯器防火牆」的極端措施,這意味着將第三方庫的所有直接使用都放在實現文件或一組這樣的文件中。然後,您可以在低警告級別編譯這些文件。但我認爲這不值得。 。
乾杯&心連心,
2
您可以將第三方的.h文件封裝到您自己的文件中,並在那裏禁用本地的違規警告,因爲您可能不想禁用所有警告,但只禁用特定的警告。
// include_file_wrapper.h
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
#include "file.h"
#pragma GCC diagnostic pop
海合會這裏是如何可以做到這一點
http://gcc.gnu.org/onlinedocs/gcc/Pragmas.html
http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
相關問題
- 1. PHP剿第三方庫警告
- 2. Xcode的警告引用該開發的第三方庫
- 3. 爲什麼要在C++中更改特定警告的警告級別?
- 4. 由第三方庫在java中生成的警告消息
- 5. 如何處理第三方庫中的警告/提示?
- 6. 更改VS2008(Express)中的新項目警告級別
- 7. 如何更改Bootstrap警告級別錶行的顏色
- 8. 解決方案級別的警告。將警告視爲解決方案級別的錯誤
- 9. IntelliJ提交警告級別
- 10. snmp4j警告日誌級別
- 11. QT警告級別暗示
- 12. 自定義過時的警告,在c#中拋出級別4的警告,而不是級別2的警告#
- 13. 使用Cocoapods升級第三方庫
- 14. CA2000的級別變量和方法之間的區別警告
- 15. 如何解決內存警告級別1,然後內存警告級別2?
- 16. 警告級別不顯示log4net的
- 17. 關於級別對象的CA2000警告
- 18. SonarQube:抑制功能級別的警告?
- 19. applicationDidReceiveMemoryWarning中的內存警告級別
- 20. Webpack + UglifyJs:如何忽略關於第三方庫代碼的警告
- 21. 來自第三方模塊的Python過濾器警告'eyed3'
- 22. 單擊第三方鏈接後的Rails警告消息
- 23. 防止混亂日誌文件的第三方警告
- 24. 忽略VS2017中第三方JavaScript文件的TS7027警告?
- 25. 第三方報告工具
- 26. automake第三方庫
- 27. 從第三方庫
- 28. Java第三方庫
- 29. 處理從屬第三方庫中的更改
- 30. 允許第三方更改元素
點數1正是我所期待的,謝謝! – Samaursa 2010-10-23 01:06:36