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 2012 使用ExternalProject\u Add后缺少项目_Visual Studio 2012_Cmake_External Project - Fatal编程技术网

Visual studio 2012 使用ExternalProject\u Add后缺少项目

Visual studio 2012 使用ExternalProject\u Add后缺少项目,visual-studio-2012,cmake,external-project,Visual Studio 2012,Cmake,External Project,我正在使用VS2012+cmake2.8.12。我的问题是CMake未能生成到外部项目的正确路径。例如: Project("{...}") = "external", "external.vcxproj", "..." 而'external.vcxproj'应该类似于。\path\to\external.vcxproj 下面是如何使用ExternalProject\u Add命令: ExternalProject_Add(external SOURCE_DIR ${CMAKE_SOURCE

我正在使用VS2012+cmake2.8.12。我的问题是CMake未能生成到外部项目的正确路径。例如:

Project("{...}") = "external", "external.vcxproj", "..."  
'external.vcxproj'
应该类似于
。\path\to\external.vcxproj

下面是如何使用ExternalProject\u Add命令:

ExternalProject_Add(external SOURCE_DIR ${CMAKE_SOURCE_DIR}/../../int/external
                    CMAKE_ARGS ..
                    BINARY_DIR ${CMAKE_SOURCE_DIR}/../../int/external/build)

非常感谢您的帮助

使用
ExternalProject\u Add
构建Visual Studio项目的工作原理略有不同。整个ExternalProject模块是独立于平台的,不知道VisualStudio构建系统的特性。因此,仅仅添加一个VS项目是行不通的,因为ExternalProject不知道如何构建它。相反,您必须指定用于构建项目的完整命令行。比如:

ExternalProject_Add(external_test
    SOURCE_DIR ${PROJECT_SOURCE_DIR}
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} ${PROJECT_SOURCE_DIR}/path/to/external.sln /build Release /project optional_project_within_solution
    INSTALL_COMMAND "")
正如你所看到的,这是一片混乱。如果您只想用CGED生成的解决方案包括现有的VS项目,请考虑使用。