我目前正在尝试在 Windows 中编译 cImg 和 libjpeg 的(噩梦)任务。几个小时后,我终于能够构建 libjpeg 并将其包含在构建过​​程中(cImg 需要 libjpeg 才能与 jpegs 一起使用)。
当我尝试使用 'g++ image.cpp libjpeg.a -lgdi32' 进行编译时,出现以下错误:

'jerror.c:112: undefined reference to `__getreent. The system cannot find the path specified.'
我在谷歌上看过,但似乎没有多少人有同样的问题(而且有答案的人更少)。
我正在使用 mingw-w64 在 Windows 中进行编译。

最佳答案

我已经解决了这个问题。对于任何有同样问题的人:

  • 确保您使用相同的编译器(即 gcc 或 mingw-w64)编译 libjpeg.a 和 cImg
  • 由于用 mingw-w64 编译 libjpeg 有困难,我使用了 gcc 编译器,但如果你使用这个库,你还需要用 gcc 编译 cImg(这会导致其他问题......)
  • 我最终通过更改路径在 MSYS2 中使用 mingw-w64 编译了 libjpeg。为此,您需要继承 Windows 路径 - 编辑“msys2_shell.cmd”并从 'rem'
  • 中删除 'set MSYS2_PATH_TYPE=inherit'

    关于c++ - mingw-w64 : 'undefined reference to ` __getreent. 中的编译器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48102092/

    10-11 22:38
    查看更多