gpt4 book ai didi

c++ - 强制 CMake 寻找 x64 位库而不是 x32

转载 作者:搜寻专家 更新时间:2023-10-31 02:05:19 24 4
gpt4 key购买 nike

所以我一直在 stackoverflow 和其他一些论坛上四处寻找如何强制 CMake 寻找 x64 库而不是 x32,但它并没有太大帮助。

当我这样做时:

find_package(Boost
1.67.0
COMPONENTS
atomic
REQUIRED
)

出于某种原因,CMake 寻找 x32 库而不是 x64 库,但未能找到它们。我通过在 cmake 命令中添加这个选项知道这一点:

-DBoost_DEBUG=ON

这向我展示了这个(它当然比我发布的内容更多,但我发布了重要的行):

_boost_LIBRARY_SEARCH_DIRS_RELEASE = C:/develop/libraries/boost/1.67.0/x64-vc141/Release/lib
Searching for ATOMIC_LIBRARY_RELEASE: boost_atomic-vc141-mt-x32-1_67;boost_atomic-vc141-mt;boost_atomic-vc140-mt-x32-1_67;boost_atomic-vc140-mt;boost_atomic-mt-x32-1_67;boost_atomic-mt;boost_atomic

但不是寻找这个:

boost_atomic-vc141-mt-x32-1_67

很明显为什么找不到它。
我想让它寻找这个:

boost_atomic-vc141-mt-x64-1_67

我错过了什么?我是否想添加一些额外的 CMake 配置,以使 CMake 了解我正在为 x64 架构使用 boost?

我什至尝试通过调用以手动方式在 x64 模式下启动 VS 17 开发人员命令提示符:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64

在此先感谢您的帮助!

最佳答案

当您使用 CMake 生成任何内容时,您应该指定一个生成器,除非默认的生成器满足您的需要。看起来在你的情况下默认的(无论它是什么)对你不起作用所以你应该像这样提供它(对于 MSVS 2015):

cmake -G "Visual Studio 14 2015 Win64"

请注意生成器中的架构,这对搜索很重要。稍后您可以使用 CMake --build 构建它,但您仍然必须生成一些使用 x64 编译器的 make 文件。

关于c++ - 强制 CMake 寻找 x64 位库而不是 x32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206636/

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