【问题标题】:Compile libjpeg with mingw用mingw编译libjpeg
【发布时间】:2012-10-26 13:19:17
【问题描述】:

我终于设置了mingw和msys,现在我想编译libjpeg。我从 projekt 页面 (jpeg-8d) 下载了最新的 libjpeg 源并提取了文件。

然后我像这样运行配置命令:

./configure --build=x86_64-w64-mingw32 --prefix=/D/Libraries/bin/jpegd-8d

之后我想使用 make 进行构建,但出现以下错误:

$ make 
make  all-am
make[1]: Entering directory `/D/Libraries/sources/jpeg-8d'
CC    jaricom.lo
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
In file included from jcapimin.c:22:0:
jpeglib.h:982:14: note: previous declaration of 'jpeg_suppress_tables' was here
make[1]: *** [jcapimin.lo] Error 1
make[1]: Leaving directory `/D/Libraries/sources/jpeg-8d'
make: *** [all] Error 2

我在这里看到了这篇文章,其中一个人和我有同样的问题:libjpeg: compile error

建议运行“autoheader”命令。我尝试这样做,但出现以下错误:

    sh: autoheader:command not found

我用谷歌搜索 autoheader 和 mingw / msys 但我找不到答案。

所以我的问题是:是否有另一种解决方案来编译它? 如果没有,如何在 msys / mingw64 中安装所需的工具?

问候

【问题讨论】:

  • 在 jconfig.h 中设置#define HAVE_PROTOTYPES 1
  • 谢谢你,你让我开心!它终于奏效了。如果您将此作为答案发布,我可以将其标记为正确答案。

标签: mingw libjpeg


【解决方案1】:

如果由于某种原因无法运行

 $ autoheader

将以下定义添加到 jconfig.h

 #define HAVE_PROTOTYPES 1

【讨论】:

  • -1 将 jconfig.h 文件更新为 #define HAVE_PROTOTYPES 1 的建议只是针对更深层次问题的创可贴解决方案:jconfig.h 已损坏并且许多重要项目的 #undef 不正确你的编译器支持。
【解决方案2】:

按照 install.txt 的建议手动编译 ckconfig.c 并让它为您生成一个 jconfig.h,然后继续进行 make 和 make install。

【讨论】:

    猜你喜欢
    • 2012-09-21
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多