Ogólnie lubię kompilować się z poziomu ostrzegawczego 4 w Visual Studio i traktować wszystkie ostrzeżenia jako błędy. Problem polega na tym, że Ogre3D nie jest skompilowany z poziomem ostrzegawczym 3 (nie jest to także FBX SDK lub OIS, którego również używam) i stanowi to problem, ponieważ teraz mam mnóstwo ostrzeżeń z bibliotek Ogre3D, które są teraz traktowane jako błędy. Do tej pory kompilowałem na poziomie 3, ale to mnie bardzo niepokoi. Czy istnieje sposób wyłączenia ostrzeżeń dla określonych bibliotek stron trzecich, nad którymi nie mam kontroli?Zmiana poziomu ostrzeżenia dla woluminów innych firm
Odpowiedz
Nie powiedzieć dokładnie, jak jesteś kompilacji, ale oto kilka opcji:
1 - wewnątrz Visual Studio, można ustawić poziom ostrzegawczy dla poszczególnych plików źródłowych poprzez właściwości dla każdego pliku źródłowego
2 - można także zmienić poziom ostrzeżenia dynamicznie w pliku przy użyciu
#pragma warning(push, 3)
// Some code, perhaps #includes
#pragma warning(pop)
, który ustawia poziom ostrzeżenia na 3 między dwoma pragma.
Możliwe, że jeśli wyłączysz najbardziej znane głupie dźwięki MSVC, problem stanie się przynajmniej możliwy do opanowania.
Mój nagłówek tłumienia bezmyślnego jest dostępny pod adresem my blog; wystarczy skompilować kod przy użyciu <windows.h>
na poziomie ostrzegawczym 4 z MSVC, bez ostrzeżeń.
Oprócz tego można przejść do skrajnej miary użycia "zapory ogniowej kompilatora", co oznacza bezpośrednie wykorzystanie biblioteki innej firmy w pliku implementacji lub zestawie takich plików. Następnie możesz skompilować te pliki z niskim poziomem ostrzeżenia. Ale nie sądzę, że warto. .
Cheers & HTH,
Możesz zawinąć pliki .hs innej firmy do własnego pliku, a tam wyłączyć lokalne ostrzeżenia, ponieważ możesz nie chcieć wyłączyć wszystkich ostrzeżeń, ale tylko określonych.
// include_file_wrapper.h
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
#include "file.h"
#pragma GCC diagnostic pop
Dla gcc oto jak można to zrobić
http://gcc.gnu.org/onlinedocs/gcc/Pragmas.html
http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
- 1. Jak uzyskać pliki cookie innych firm?
- 2. Zdefiniuj uprawnienie dla aplikacji innych firm do używania w Androidzie
- 3. Django I18N z aplikacjami innych firm
- 4. Sprawdź zapory innych firm na komputerze
- 5. Wtryskiwanie JavaScriptu na stronach innych firm
- 6. Widżety Ruby, Qt i innych firm
- 7. Zmiana poziomu głośności głównej
- 8. Plik Maven POM do instalowania bibliotek komercyjnych innych firm
- 9. Globalne przeciążenie delete [] nie jest wywoływane w bibliotekach innych firm
- 10. Wyłączanie logowania innych firm w dodatku do komentarzy społecznościowych
- 11. Xdebug - zmiana poziomu zagnieżdżenia var_dump
- 12. Dołącz dll innych firm w projekcie Sharepoint podczas pakowania wsp
- 13. Czy istnieją jeszcze dobre biblioteki innych firm oparte na openCL?
- 14. Zmniejszenie rozmiaru kontrolki menu ASP.NET (bez bibliotek innych firm)
- 15. Jak dodać słoiki innych firm do lokalnego repozytorium Maven?
- 16. Niektóre widgety innych firm przestają się aktualizować po aktualizacji aplikacji
- 17. Używanie bibliotek java innych firm, takich jak com.jcraft.jsch, z clojure
- 18. prywatnych rozszerzeń Chrome dla Firm intranetu
- 19. Otrzymywanie ostrzeżenia dla UIPopoverBackgroundVisualEffectView
- 20. Zmiana ikony na podstawie poziomu powiększenia
- 21. Fellow Oak DICOM - zmiana poziomu okna obrazu
- 22. Ignoruj ostrzeżenia TS7027 z plików javascript innych producentów w VS2017?
- 23. Wyłącz ostrzeżenia kompilatora dla linii
- 24. StyleCop dla innych języków
- 25. Jak wdrożyć aplikację w języku C#, jednocześnie dołączając pliki DLL innych firm?
- 26. Jak ukryć ostrzeżenia dla jednego pliku ActionScript?
- 27. Wiadomości z Diagnostic.Kind.NOTE poziomu (i innych) na procesorach adnotacji
- 28. Wywołanie wymaga poziomu api w modułach innych niż android
- 29. Biblioteka firm trzecich z karuzelami na Androida
- 30. [Język rodzimy]: Korzystanie z funkcji Java i bibliotek innych firm w Qt na Androida
Punkt numer 1 jest dokładnie tym, czego szukałem, dzięki! – Samaursa