生成 CMake 项目时无法打开提升库

Cannot open Boost library when building CMake project

本文关键字:CMake 项目 生成      更新时间:2023-10-16

我想使用 Visual Studio 2019 构建一个需要 Boost 和多个不同库的 CMake 项目。当我构建为静态库时,没有问题,但是当我取消选中 BUILDSTATIC 和 LINKSTATIC 时,我得到:

fatal error LNK1104: cannot open file 'boost_thread-vc142-mt-x64-1_70.lib'
...
fatal error LNK1104: cannot open file 'boost_filesystem-vc142-mt-x64-1_70.lib'

尽管如此,所有必需的变量似乎都设置正确:

Boost_DIR: D:/boost_1_70_0/boost
Boost_INCLUDE_DIR: D:/boost_1_70_0
Boost_LIBRARY_DIR_RELEASE: D:/boost_1_70_0/stage/lib
BOOST_LIBRARYDIR: D:/boost_1_70_0/stage/lib
Boost_FILESYSTEM_LIBRARY_RELEASE: D:/boost_1_70_0/stage/lib/libboost_filesystem-vc142-mt-x64-1_70.lib
Boost_SYSTEM_LIBRARY_RELEASE: D:/boost_1_70_0/stage/lib/libboost_system-vc142-mt-x64-1_70.lib
Boost_THREAD_LIBRARY_RELEASE: D:/boost_1_70_0/stage/lib/libboost_thread-vc142-mt-x64-1_70.lib
Boost_CHRONO_LIBRARY_RELEASE: D:/boost_1_70_0/stage/lib/libboost_chrono-vc142-mt-x64-1_70.lib
Boost_ATOMIC_LIBRARY_RELEASE: D:/boost_1_70_0/stage/lib/libboost_atomic-vc142-mt-x64-1_70.lib
Boost_DATE_TIME_LIBRARY_RELEASE: D:/boost_1_70_0/stage/lib/libboost_date_time-vc142-mt-x64-1_70.lib

问题可能是什么?

解决方案是构建动态 Boost 库,然后链接到它们而不是链接到静态库。