gpt4 book ai didi

visual-studio-2013 - CMake Visual Studio 项目依赖项

转载 作者:行者123 更新时间:2023-12-04 19:42:28 25 4
gpt4 key购买 nike

我的解决方案包括一个静态库和一个使用它的控制台应用程序。该解决方案是从 CMakeLists.txt 文件生成的(顶级文件和每个项目的两个文件)据我所知,CMake 中的项目依赖项是通过更改 add_subdirectory() 顺序来管理的。但是,它对我不起作用

提供完整的顶层文件

cmake_minimum_required(VERSION 2.8)
project(vtun CXX)
set(TARGET vtun)

set(Boost_DEBUG ON)
set(Boost_USE_STATIC_LIBS ON)
set(BOOST_ROOT ${MY_BOOST_DIR})

find_package(Boost 1.55.0)

if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost libraries are required")
endif()

add_subdirectory(vtunlib)
add_subdirectory(console_client)

vtunlib 项目先构建,但无论如何 *.sln 文件不包含依赖信息,console_client 总是先构建

CMake 3.0、Visual Studio 2013

最佳答案

CMake 中的项目依赖项 不是 通过更改 add_subdirectory() 顺序来管理。您可以通过 add_dependencies 显式指定目标依赖项命令:

add_dependencies(< target> [< target-dependency>]...)

Make a top-level < target> depend on other top-level targets to ensure that they build before < target> does.

或一些命令,如 target_link_libraries自动执行:

...the build system to make sure the library being linked is up-to-date before the target links.

因此,如果 console_client 链接 vtunlib,命令 target_link_libraries(console_client vtunlib) 将自动处理构建顺序。

关于visual-studio-2013 - CMake Visual Studio 项目依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26609748/

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