I recently added -pedantic and -pedantic-errors to my make GCC compile options to help clean up my cross-platform code. All was fine until it found errors in external-included header files. Is there a way to turn off this error checking in external header files, i.e.:
Keep checking for files included like this:
#include "myheader.h"
Stop checking for include files like this:
#include <externalheader.h>
Here are the errors I am getting:
g++ -Wall -Wextra -Wno-long-long -Wno-unused-parameter -pedantic --pedantic-errors -O3 -D_FILE_OFFSET_BITS=64 -DMINGW -I"freetype/include" -I"jpeg" -I"lpng128" -I"zlib" -I"mysql/include" -I"ffmpeg/libswscale" -I"ffmpeg/libavformat" -I"ffmpeg/libavcodec" -I"ffmpeg/libavutil" -o omingwd/kguimovie.o -c kguimovie.cpp In file included from ffmpeg/libavutil/avutil.h:41, from ffmpeg/libavcodec/avcodec.h:30, from kguimovie.cpp:44: ffmpeg/libavutil/mathematics.h:32: error: comma at end of enumerator list In file included from ffmpeg/libavcodec/avcodec.h:30, from kguimovie.cpp:44: ffmpeg/libavutil/avutil.h:110: error: comma at end of enumerator list In file included from kguimovie.cpp:44: ffmpeg/libavcodec/avcodec.h:277: error: comma at end of enumerator list ffmpeg/libavcodec/avcodec.h:303: error: comma at end of enumerator list ffmpeg/libavcodec/avcodec.h:334: error: comma at end of enumerator list ffmpeg/libavcodec/avcodec.h:345: error: comma at end of enumerator list ffmpeg/libavcodec/avcodec.h:2249: warning: `ImgReSampleContext' is deprecated (declared at ffmpeg/libavcodec/avcodec.h:2243) ffmpeg/libavcodec/avcodec.h:2259: warning: `ImgReSampleContext' is deprecated (declared at ffmpeg/libavcodec/avcodec.h:2243) In file included from kguimovie.cpp:45: ffmpeg/libavformat/avformat.h:262: error: comma at end of enumerator list In file included from ffmpeg/libavformat/rtsp.h:26, from ffmpeg/libavformat/avformat.h:465, from kguimovie.cpp:45: ffmpeg/libavformat/rtspcodes.h:38: error: comma at end of enumerator list In file included from ffmpeg/libavformat/avformat.h:465, from kguimovie.cpp:45: ffmpeg/libavformat/rtsp.h:32: error: comma at end of enumerator list ffmpeg/libavformat/rtsp.h:69: error: comma at end of enumerator list
You could fix the headers and submit a patch to FFmpeg; compatibility with
-pedanticis a worthy goal, so I’m sure they’d consider it, especially if it just involved removing trailing commas and suchlike.