C++ CMake项目:致命错误LNK1104:无法打开文件';boost_unit_test_framework-vc141-mt-x64-1_66.lib';

C++ CMake项目:致命错误LNK1104:无法打开文件';boost_unit_test_framework-vc141-mt-x64-1_66.lib';,c++,visual-studio,boost,cmake,lib,C++,Visual Studio,Boost,Cmake,Lib,当我在VisualStudio 2019 for Windows机器上使用CMake project时,我在尝试构建程序时出现以下错误: 致命错误LNK1104:无法打开文件 '增压单元测试框架-vc141-mt-x64-1_66.lib' 我已经在我的CMakeLists.txt文件中设置了Boost根目录,并将Boost use static libs设置为ON: set(Boost_USE_STATIC_LIBS ON) set(BOOST_ROOT C:/boost_1_66_0)

当我在VisualStudio 2019 for Windows机器上使用CMake project时,我在尝试构建程序时出现以下错误:

致命错误LNK1104:无法打开文件 '增压单元测试框架-vc141-mt-x64-1_66.lib'

我已经在我的CMakeLists.txt文件中设置了Boost根目录,并将Boost use static libs设置为ON:

set(Boost_USE_STATIC_LIBS ON) 

set(BOOST_ROOT C:/boost_1_66_0)

find_package (Boost 1.66.0 COMPONENTS system filesystem unit_test_framework REQUIRED)
如下所述:

我可以看到Windows上的静态库以
lib
前缀开始 错误是抱怨动态库,我的库目录中没有动态库,我不想使用它

另一方面,正如链接中所述,对于标识用于构建二进制文件的工具集和版本的工具集标记,我的错误是抱怨
-vc141
,但我使用
-vc142
工具集编译了我的库,这是我在库目录中可以找到的

我当然可以下载预编译的动态14.1库版本,但我不想使用它


我不知道为什么CMake会给我这个错误,我该如何修复它,拜托?谢谢你

我不知道CMAKE,也不知道你是用它来构建boost还是仅仅是一个项目。我听说这很难。当您使用1.66运行时,我猜您不久前已经下载了该版本,而libs是使用较旧版本的VS.Build it yourself构建的。这里有数不清的。cd c:\boost\u 1\u 66\u 0,运行bootstrap.bat。然后运行b2。lib将内置。\stage\lib。如果您想让x64 libsI不知道CMAKE,或者您正在使用它来构建boost或只是一个项目,那么您必须对\b2和spec x64采取额外的步骤。我听说这很难。当您使用1.66运行时,我猜您不久前已经下载了该版本,而libs是使用较旧版本的VS.Build it yourself构建的。这里有数不清的。cd c:\boost\u 1\u 66\u 0,运行bootstrap.bat。然后运行b2。lib将内置。\stage\lib。如果希望使用x64 libs,则必须使用。\b2和规范x64执行额外的步骤