0

我用 vcpkg 安装了库:https ://github.com/Microsoft/vcpkg

在 PowerShell(管理员)中:

.\vcpkg install libjpeg-turbo:x64-windows-static
.\vcpkg integrate install

我在以下位置添加了对库的引用:

配置属性 > C/C++ > 常规 > 附加包含目录: [path]libjpeg-turbo-gcc\include

配置属性 > 链接器 > 常规 > 附加库目录: [path]libjpeg-turbo-gcc\lib

配置属性 > 链接器 > 输入 > 附加依赖项

  • libjpeg.a
  • libjpeg.dll.a
  • libturbojpeg.a
  • libturbojpeg.dll.a

但我得到了链接错误:

  • LNK2019:函数 _output_message libjpeg.a(jerror.c.obj) 中引用的未解析外部符号 __imp___iob
  • LNK2019:未解析的外部符号 _sscanf 在函数 _jinit_memory_mgr libjpeg.a(jmemmgr.c.obj) 中引用

  • LNK2019:函数 _format_message libjpeg.a(jerror.c.obj) 中引用的未解析外部符号 _sprintf

我试图从 libjpeg-turbo-gcc\bin 文件夹中添加 libturbojpeg.dll 和 libjpeg-62.dll,但我得到一个链接错误 LNK1107 invalid or corrupt file: cannot read at 0x3D0 \libjpeg-turbo-gcc\bin\libturbojpeg .dll。

我必须包含哪些文件以及在哪里可以找到它们?先感谢您。

4

1 回答 1

0

请找出最后对我有用的东西。使用 vcpkg:

.\vcpkg install libjpeg-turbo:x64-windows
.\vcpkg integrate install

在 Visual Studio 中不要引用任何库,否则会导致链接器错误,只需将包含添加到 vcpkg 安装的库中:

配置属性 > C/C++ > 常规 > 附加包含目录

[vcpkg path] \vcpkg\installed\x64-windows\include
于 2019-11-21T12:58:05.297 回答