3

我正在使用 cmake 为 Visual Studio 生成解决方案,并且效果很好。

我注意到,作为构建的一部分,它还会在 Visual Studio 上生成一个名为 install 的目标,据说是为了安装构建文件(例如库或包含文件),但是如何在 Visual Studio 上使用它呢?

我选择了这个目标并尝试构建或运行它,但没有任何成功或任何结果(没有文件复制到其他任何地方等等)。

你能帮我如何在Visual Studio中使用安装目标来安装生成的文件(在我的情况下它是一个库)。

我正在起诉 cmake gui,但如果需要,我可以使用 cmake 命令行。

更新1:

我知道它是为我的 cmake 文件上的安装目标生成的,但我的问题是如何运行它?

当我在 VS 解决方案上构建安装时,我收到此错误:

Error   3   error MSB3073: The command "setlocal
"C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets  132 5   INSTALL

所以我无法在 VS 中使用它。

我如何在 VS 中使用它(如果可能的话!)

如何将它与 cmake GUI 一起使用?

如何配置 t 以将产品安装在特定位置?(我定义了我不想在里面的安装目录c:\program files

4

1 回答 1

5

CMake 生成的 VSINSTALL目标链接到 CMake 的install()命令。

所以你必须通过命令告诉 CMake 你喜欢安装什么install()。通常,只有在您的代码中您在install()某处有电话时,它才会出现。

试试例如

include(InstallRequiredSystemLibraries)

install(
    TARGETS MyApplication 
    RUNTIME DESTINATION "."
    CONFIGURATIONS ${CMAKE_CONFIGURATION_TYPES}
)

INSTALL如果您在构建目标时遇到错误,例如

-- Install configuration: "Debug"
CMake Error at cmake_install.cmake:31 (file):
file cannot create directory: C:/Program Files (x86)/cmakeTesting/bin.
Maybe need administrative privileges.

在执行生成步骤之前,您必须使用管理员权限启动 VS 或CMAKE_INSTALL_PREFIX使用 CMake 的 GUI 设置/更改变量:

在此处输入图像描述

参考

于 2016-10-12T13:50:03.777 回答