cmake 编译第三方库 链接其他库报错

本文介绍了在Windows上使用CMake编译第三方库时遇到的Boost库链接错误问题。当CMake找不到Boost_thread时,尝试更新CMake版本可能解决问题。不同Boost版本需要对应版本的CMake,例如Boost1.66需要CMake3.11或更高。此外,还提到了一个编译错误‘Cannotspecifylinklibrariesfortarget’的解决方案,只需调整CMakeLists.txt中ADD_EXECUTABLE与TARGET_LINK_LIBRARIES的顺序即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Windows上使用cmake编译第三方库 链接Boost库报错


如果在 cmake里 点击 configure 时, 在 Found Boost 库的时候报错 (boost_thread Not Found) 借鉴网上其他的解决方案不能解决时 可以尝试更新 cmake版本。或许不单单适用于 boost 库这个具体问题 。

你的CMake版本太旧了。更新CMake,它会工作。CMake无法检测不同Boost库之间的依赖关系。他们明确地实施了FindBoost。对于每个Boost版本,这些信息都由CMake维护者添加,它将成为下一个CMake版本的一部分。因此,您必须确保您的CMake版本在您尝试查找的Boost版本之后发布。Boost 1.63要求CMake 3.7或更高版本。Boost 1.64需要CMake 3.8或更高版本。升压1.65和1.65.1需要CMake 3.9.3或更高版本。Boost 1.66需要CMake 3.11或更高版本。Boost 1.67需要CMake 3.12或更高版本。升压1.68,1.69要求CMake 3.13或更高版本。Boost 1.70需要CMake 3.14或更高版本。

卡了很久 看到某论坛一位大佬抛出的问题可能性 尝试更新cmake 问题解决。感谢!

2.cmake 错误Cannot specify link libraries for target


问题: “Cannot specify link libraries for target “xxx” which is not built by the project”

解决方案:找到 编译文件的CMakeLists.txt 将 ADD_EXECUTABLE的声明放到设置库文件的TARGET_LINK_LIBRARIES之前 即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值