Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2013 CMake Visual Studio项目依赖项_Visual Studio 2013_Cmake - Fatal编程技术网

Visual studio 2013 CMake Visual Studio项目依赖项

Visual studio 2013 CMake Visual Studio项目依赖项,visual-studio-2013,cmake,Visual Studio 2013,Cmake,我的解决方案由一个静态库和一个使用它的控制台应用程序组成。 该解决方案由CMakeLists.txt文件生成(顶级文件和每个项目的两个文件) 据我所知,CMake中的项目依赖关系是通过更改add_子目录()顺序来管理的。 但是,它对我不起作用 提供完整的顶级文件 cmake_minimum_required(VERSION 2.8) project(vtun CXX) set(TARGET vtun) set(Boost_DEBUG ON) set(Boost_USE_STATIC_LIBS

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

提供完整的顶级文件

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_客户端


CMake 3.0,Visual Studio 2013

CMake中的项目依赖项不通过更改
添加子目录()
顺序来管理。您可以通过以下命令显式指定目标依赖项:

添加依赖项([]…)

使顶级依赖于其他顶级目标,以确保它们构建 在之前

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

…用于确保链接库的生成系统 在目标链接之前更新

因此,在
console\u client
links
vtunlib
的情况下,命令
target\u link\u libraries(console\u client vtunlib)
将自动处理生成顺序