c++ - 在 Visual Studio C++ 2017 中链接 libjpeg-turbo 需要包含哪些文件
问题描述
我用 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。
我必须包含哪些文件以及在哪里可以找到它们?先感谢您。
解决方案
请找出最后对我有用的东西。使用 vcpkg:
.\vcpkg install libjpeg-turbo:x64-windows
.\vcpkg integrate install
在 Visual Studio 中不要引用任何库,否则会导致链接器错误,只需将包含添加到 vcpkg 安装的库中:
配置属性 > C/C++ > 常规 > 附加包含目录:
[vcpkg path] \vcpkg\installed\x64-windows\include
推荐阅读
- reactjs - 酶不起作用模拟反应组件中的鼠标按下事件
- ios - Appium 无法启动 WDA,尝试设置真实的 iOS 设备
- python - 连续汉字
- oracle-nosql - 关于 NoSQLClient.query 与 Oracle NoSQL 的问题?
- python - 无法访问从 json 响应派生的单个配方的内页
- android - 在 Android 中居中 Toast 消息
- android - 带有活动上下文的处理程序类会导致内存泄漏吗?
- git - Github Private 项目和 Jenkins 之间的问题
- c# - 使用 DataGridCell.Margin 属性合并列级别的单元格
- javascript - 为什么即使没有失去焦点,React onChange 也能工作?