构建CMake项目时无法打开Boost库

时间:2019-07-08 23:00:07

标签: c++ build cmake

我想使用需要Boost和多个不同库的Visual Studio 2019构建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

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

解决方案是构建动态Boost库,然后针对它们进行链接,而不是链接至静态库。