gpt4 book ai didi

c++ - 错误 : The following Boost libraries could not be found

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:27 25 4
gpt4 key购买 nike

我正在使用 cmakeboost 制作 visual studio 解决方案。我的命令是:

F:\C++\yapimpl\build>cmake .. -G"Visual Studio 11" -DBOOST_ROOT=E:\lib\lib\boost
_1_54_0 -DBOOST_LIBRARYDIR=E:\lib\lib\boost_1_54_0\bin\vc11\lib

尽管我设置了 BOOST_LIBRARYDIRBOOST_ROOT,它仍然显示 boost_unit_test_framework
找不到。

目录 E:\lib\lib\boost_1_54_0\bin\vc11\lib 确实包含这些文件:

08/08/2013  CSer 03:48        12,738,344 libboost_unit_test_framework-vc110-mt-1
_54.lib
08/08/2013 CSer 03:44 31,489,264 libboost_unit_test_framework-vc110-mt-g
d-1_54.lib
08/08/2013 CSer 04:10 14,109,766 libboost_unit_test_framework-vc110-mt-s
-1_54.lib
08/08/2013 CSer 03:59 32,856,094 libboost_unit_test_framework-vc110-mt-s
gd-1_54.lib

但似乎无法识别这些。有什么问题?追溯在这里:http://codepad.org/zgL9tpjo

项目在这里: https://github.com/Answeror/yapimplhttps://github.com/Answeror/ACMake希望有人可以尝试 cmake yapimpl 项目

最佳答案

由于您的库名称都以 lib 开头,因此您似乎构建了 boost 库的静态版本。 boost naming conventions状态:

lib

      Prefix: except on Microsoft Windows, every Boost library name begins with this string. On Windows, only ordinary static libraries use the lib prefix; import libraries and DLLs do not.

在 CMake 生成的输出中,有一行声明:

-- [ F:/C++/yapimpl/acmake/FindBoost.cmake:570 ] Boost_USE_STATIC_LIBS = OFF

此外,您还可以看到 CMake 正在搜索的库名称不以 lib 开头:

... Searching for UNIT_TEST_FRAMEWORK_LIBRARY_RELEASE: boost_unit_test_framework-vc110-mt-1_54;...

要告诉 CMake 搜索 Boost 的静态版本,您只需将 Boost_USE_STATIC_LIBS 设置为 ON。您可以在调用 find_package(Boost ...) 之前在 CMakeLists.txt 中执行此操作:

set(Boost_USE_STATIC_LIBS ON)

或者您可以直接在命令行上设置它:

cmake . -DBoost_USE_STATIC_LIBS=ON

有关 FindBoost CMake 模块的更多信息,请参阅 the docs , 或者运行

cmake --help-module FindBoost

关于c++ - 错误 : The following Boost libraries could not be found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18583800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com