CC jcapimin.lo jcapimin.c:127:1: error: conflicting types for 'jpeg_suppress_tables' jcapimin.c:128:1: note: an argument type that has a default promotion can't match an empty parameter name list declaration jpeglib.h:984:14: note: previous declaration of 'jpeg_suppress_tables' was here
考察:
- autoheaderを使うと出なくなりました。詳しくはこちらの記事をご覧ください。
- jconfig.h中の、これがダメ
#undef HAVE_PROTOTYPES
- configureのバグか、jconfig.cfgのバグか、折角configureして出来たconfdefs.hの内容が反映されないのが原因かなと考えられます。
autoconfを使ってconfigureを作り直したら出なくなりました。但し、作り直す方法にクセが有ります。
詳しくはこちらの記事をご覧ください。
対策:
- configureの前に、autoheaderを実行します。
config.logのケツの方に在るconfdefs.hとやらの定義を自分で、自動生成された後のjconfig.hの後ろに貼り付けてあげる。
## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ //#define PACKAGE_NAME "libjpeg" //#define PACKAGE_TARNAME "libjpeg" //#define PACKAGE_VERSION "8.3.0" //#define PACKAGE_STRING "libjpeg 8.3.0" //#define PACKAGE_BUGREPORT "" //#define PACKAGE_URL "" //#define PACKAGE "libjpeg" //#define VERSION "8.3.0" #define PROTOTYPES 1 #define __PROTOTYPES 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_UNISTD_H 1 #define HAVE_STRING_H 1 #define HAVE_PROTOTYPES 1 #define HAVE_STDDEF_H 1 #define HAVE_STDLIB_H 1 #define HAVE_LOCALE_H 1 #define HAVE_UNSIGNED_CHAR 1 #define HAVE_UNSIGNED_SHORT 1 #define INLINE __inline__ #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/"
PACKAGE_NAME等の定義は外しておく。他のパッケージと混ぜる時に問題となるので。
0 件のコメント:
コメントを投稿