qt项目在导入viusal studio 2017中编译出现link error的解决办法

本文介绍如何使用qtvstool选项加载Qt项目文件(.pro)。具体步骤包括:选择openqtprojectfile选项,打开对应pro后缀的文件,之后关闭并重新加载项目链接。

第一步:
在qt vs tool选项下
在这里插入图片描述
找到
在这里插入图片描述
open qt project file (.pro)选项,点击打开
在这里插入图片描述
选中pro后缀的文件即可。
然后关闭项目,重新加载项目链接 oK.

在使用 Qt 5.15.2 编译过程中,若遇到链接错误 `LNK2001 unresolved external symbol ERR_get_error`,通常与 OpenSSL 库的缺失或配置不当有关。ERR_get_error 是 OpenSSL 提供的一个函数,用于获取最近发生的错误代码。当项目依赖于 SSL 功能(如网络通信、加密等),但编译环境中未正确引入 OpenSSL 的库文件时,就可能出现该错误[^1]。 ### 常见原因 1. **OpenSSL 未正确安装或未被识别** 在 Windows 上使用 Qt 时,如果启用了 SSL 支持但未正确配置 OpenSSL 库路径,则可能导致链接器找不到相关符号。 2. **Qt 构建版本未启用 SSL 支持** 某些预构建的 Qt 版本可能未包含对 OpenSSL 的支持,或者在自定义构建 Qt 时未启用 SSL 模块。 3. **静态链接与动态链接不一致** 如果项目尝试静态链接 OpenSSL,但实际提供的是 DLL 导入库,或者反之,也可能导致此类问题。 --- ### 解决方法 #### 1. 确保 OpenSSL 已正确安装并配置环境变量 - 下载适用于 Windows 的 OpenSSL 开发包(如来自 [ShiningLight](https://slproweb.com/products/Win32OpenSSL.html) 的 Win64 OpenSSL)。 - 安装后将 OpenSSL 的 `bin` 目录添加到系统 PATH 中,例如:`C:\Program Files\OpenSSL-Win64\bin`。 - 同时确保 `.lib` 文件和头文件路径也被 CMake 或 Visual Studio 正确引用。 #### 2. 配置 CMake 以识别 OpenSSL - 在 CMake 配置阶段,手动设置 OpenSSL 的路径: ```cmake -DOPENSSL_ROOT_DIR="C:/Program Files/OpenSSL-Win64" -DOPENSSL_LIBRARIES="C:/Program Files/OpenSSL-Win64/lib" ``` - 如果使用的是 MSVC 编译器,确认是否选择了正确的运行时库(MD/MT)以匹配 OpenSSL 的构建方式。 #### 3. 修改项目属性以链接 OpenSSL 库 - 在 Visual Studio 中打开生成的解决方案,右键点击目标项目,选择“属性”。 - 进入 `Linker -> Input -> Additional Dependencies`,添加以下库(根据实际使用情况调整): ``` libssl.lib libcrypto.lib ``` - 确保这些库文件存在于指定的 OpenSSL 安装目录中。 #### 4. 使用 Qt 提供的 OpenSSL 插件(可选) - 若项目仅通过 Qt 调用 SSL 功能(如 QSslSocket),可以考虑使用 Qt 自带的 OpenSSL 插件机制。 - 将 OpenSSL 的 DLL 文件(如 `libssl-1_1-x64.dll` 和 `libcrypto-1_1-x64.dll`)复制到应用程序输出目录或系统路径下。 #### 5. 重新构建 Qt 以启用 SSL 支持(如需深度定制) - 如果使用的是自定义构建的 Qt,确保在配置阶段启用了 SSL 支持: ```bash configure -openssl-linked ``` - 重新编译并部署 Qt 到开发环境中。 --- ### 示例:修改 CMakeLists.txt 添加 OpenSSL 支持 ```cmake find_package(OpenSSL REQUIRED) include_directories(${OPENSSL_INCLUDE_DIR}) target_link_libraries(your_target_name PRIVATE ${OPENSSL_LIBRARIES}) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜀山量化策略程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值