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.
你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。