Estoy construyendo mi programa con -pedantic
indicador, lo que provoca un error extra ';'
(debido a un encabezado de un tercero que utiliza unas pocas macros de forma inconsistente; no se muestra cuando -pedantic
está desactivado). Realmente no tengo ganas de desactivar -pedantic
, y tampoco quiero editar el encabezado. ¿Hay alguna forma de suprimir este error exacto? ¿Como un interruptor de compilador -Wno-annoying-semicolon-error
o algo así?Suprimir el error "extra"; "en GCC cuando -pedantic está en
Respuesta
La solución alternativa es eliminar -pedantic
. Nada más funcionará en ese caso.
... o para arreglar el código del buggy. Ay. –
@RomanD ¿Hay un punto y coma extra realmente "defectuoso"? –
@KyleStrand No es realmente "con errores", pero tampoco del todo correcto. No recuerdo qué biblioteca me causó este problema hace cuatro años, pero hubo cierta magia macro que condujo a este problema. –
Use -isystem
en lugar de -I
al pasar rutas de acceso, entonces GCC no le advertirá sobre los encabezados del sistema.
Para cualquier encabezado que mantenga, simplemente edítelos.
No funcionó para mí. Incluyó la biblioteca con el sistema, pero todavía se emitieron advertencias para el compilador cruzado de Linux-> apple, pero ciertamente funciona para g ++ y clang – Flamefire
Puede suprimir advertencias pedantes para las cabeceras externas como esta:
//save compiler switches
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
//Bad headers with problem goes here
#include <ros/ros.h>
#include <sensor_msgs/LaserScan.h>
//restore compiler switches
#pragma GCC diagnostic pop
- 1. gcc: ¿Está utilizando -Werror y -pedantic como una buena práctica?
- 2. Suprimir -Wunknown-pragmas de advertencia en GCC
- 3. ¿Hay alguna forma de suprimir el resultado "extra" del cmdlet Write-Error?
- 4. ¿Hay un equivalente a -pedantic para gcc cuando se utiliza el compilador de Visual C++ de Microsoft?
- 5. Suprimir el error con el operador @ en PHP
- 6. GCC: ¿Es posible desactivar la advertencia "coma al final de la lista de enumeradores" cuando se usa -pedantic?
- 7. Java está asignando 2gb extra de memoria
- 8. gcc error message repository
- 9. ¿Por qué GCC permite el uso de round() en C++ incluso con las banderas ansi y pedantic?
- 10. Error Visual Studios Link.exe: "operando extra"
- 11. Extraño error de gcc: extraviado '\ NNN' en el programa
- 12. Tratar de entender un error de GCC
- 13. Cython Install GCC error
- 14. jQuery: ¿Suprimir `click` cuando` dblclick` es inminente?
- 15. extraño GCC error
- 16. gcc error de precisión?
- 17. ¿Puedes suprimir los mensajes de activos cuando sigues el desarrollo.log?
- 18. Optimización de registros usados cuando se utiliza el ensamblaje ARM en línea en GCC
- 19. respond_with está pidiendo ubicación en el error
- 20. $ no está definido el error en jquery
- 21. Suprimir el directorio en el tiempo de ejecución
- 22. Cómo suprimir la validación cuando no se ingresa nada
- 23. referencia indefinida cuando se enlaza dinámicamente con gcc en cygwin
- 24. Anotación de Django en el campo agregado con extra
- 25. Error con constexpr (gcc) - Error: un inicializador corsé-adjunto no está permitido aquí antes '{' token de
- 26. error de análisis XML: contenido extra al final del documento
- 27. Suprimir advertencias obsoletas en VB.NET
- 28. ¿Dónde está gcc en OSX? Ya instalé Xcode
- 29. ¿Qué significa la advertencia del compilador generada por `-pedantic`?
- 30. Cómo suprimir advertencias en encabezados externos en Visual C++
¿Por qué desea utilizar pedante? mirando http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Warning-Options.html#Warning-Options parece que no hay forma de hacer lo que desea. seguramente si el uso de pedantic se basa simplemente en un sentimiento, estarás mejor sin él ;-) –
Bueno, no solo sensación :) Hay algunas recomendaciones fuertes que tengo que seguir –
Hmmm tramposo. No creo que el encabezado de terceros sea de código abierto. ¿Alguna posibilidad de arreglarlo? –