gpt4 book ai didi

visual-studio-2010 - CMake 和 Visual Studio 2010 以及其他库目录

转载 作者:行者123 更新时间:2023-12-02 21:22:12 25 4
gpt4 key购买 nike

如何通过在项目属性的“链接器”部分中设置“其他库目录”字段来告诉 CMake 我希望它生成 Visual Studio 2010 解决方案?语言是 C++ 并且不使用 .NET 平台,只是我希望我的项目找到存储 Boost .lib 和 .dll 的 stage/lib 目录...

显然,我已尝试使用以下设置,但是,虽然正确设置了编译器的附加包含目录字段,但链接器的附加库目录仍然为空...

unset(Boost_LIBRARIES)

find_package(Boost 1.55.0 REQUIRED COMPONENTS system filesystem)

if(Boost_FOUND)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(BOOST_LIBRARYDIR stage/lib)
include_directories(${Boost_INCLUDE_DIRS})
endif()

...

target_link_libraries(cpp-lib ${Boost_LIBRARIES})

我还指定我想要使用动态版本的 Boost 库,这就是为什么我将开关 USE_STATIC_LIBS 设置为 OFF,以便在 CMakelists.txt 开头使用静态版本的 Boost。

这是放在“附加依赖项”字段中的内容(超出了 Visual Studio 自动指定的通常 .lib):

C:\Program Files\boost\boost_1_56_0\stage\lib\boost_system-vc100-mt-gd-1_56.lib
C:\Program Files\boost\boost_1_56_0\stage\lib\boost_filesystem-vc100-mt-gd-1_56.lib

除了错误的字段之外,我还要补充一点,上面的行不是我想要的。我只想知道 Boost .lib 和 .dll 路径的规范,即:

C:\Program Files\boost\boost_1_56_0\stage\lib\

我尝试将最后一个路径放入链接器->常规->附加库目录字段中,并且所有编译都很好,所以我需要一种方法来告诉 CMake 在正确的字段中设置正确的路径(上面的最后一个) (链接器->常规->其他库目录)。

交易很多

D.

最佳答案

通过使用 link_directories(),我能够更新项目属性的“链接器”部分中的“其他库目录”字段。

find_package(Boost 1.55.0 REQUIRED COMPONENTS system filesystem)

if(Boost_FOUND)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(BOOST_LIBRARYDIR stage/lib)
include_directories(${Boost_INCLUDE_DIRS})

link_directories(${Boost_LIBRARY_DIRS})

endif()

关于visual-studio-2010 - CMake 和 Visual Studio 2010 以及其他库目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26782137/

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