CMake编译的VS工程,安装时遇到错误:error MSB3073: 命令“setlocal

 

错误提示

70>CMake Error at src/base/cmake_install.cmake:63 (file):
70>  file INSTALL cannot find
70>  "E:/Projs/algs/colmap/colmap_build/src/base/Release/camera_rig_test.exe".
70>Call Stack (most recent call first):
70>  src/cmake_install.cmake:61 (include)
70>  cmake_install.cmake:65 (include)
70>
70>
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: 命令“setlocal
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "D:\Pros\IDE\IDE Tools\cmake-3.15.0-rc1-win64-x64\bin\cmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmEnd
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmErrorLevel
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: exit /b %1
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmDone
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
70>C:\Program\Dev\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :VCEnd”已退出,代码为 1。

 

解决方案1

该问题的出现,解决时,根据原因有两种方法:

(1)由于在CMake GUI中CMAKE_INSTALL_PREFIX指定为C盘目录,所以install编译生成时需要权限。此时,需要以管理员身份运行Vs即可。

(2)cmake时,设置的build目录不对的原因。如在源码(CMakelist.txt所在目录)主目录的外侧,新建了build的目录。而不是在正确的在主目录下新建这个build目录。

 

 而不该

 

 解决方案2

如果,解决方案1不能解决你的问题,可以考虑,将VS工程,设置到Release模型下,再进行install的运行。

实践证明,到解决方案2,基本上能解决我已经遇到的所有情况了。

 

 

 

 

 

参考

VS2015+Cmake安装OpenPose库遇到:error MSB3073: 命令“setlocal.... "tingzhushaohua, 2018-08.

 

posted @ 2019-11-14 23:54  wenglabs  阅读(16411)  评论(3编辑  收藏  举报