MSBuild:错误MSB3073命令'setlocal VCEnd'退出代码1

时间:2016-06-17 21:51:57

标签: c++ visual-studio-2015 msbuild cmake

我正在尝试使用Visual Studio 2015和CMake在我的机器上构建一个开源项目。我已按照所有步骤进行操作,预建检查正常运行。但是当我构建INSTALL以在我在CMAKE gui中指定的文件夹中安装软件时,我收到了MSB3073错误。错误的完整描述如下。

Severity Code Description Project File Line Suppression State Error 
MSB3073 The command "setlocal
"C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=RelWithDebInfo -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. 
INSTALL C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets  133 

我搜索了同样的错误,发现有些尝试在没有写权限的目录中安装构建的人遇到了这个问题,但我确保我有写访问权限。我甚至尝试使用管理员权限执行此操作,但仍然无法解决此问题。

对此的任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

很抱歉,我是个坏人,但我遇到并解决了完全相同的问题,如果我分享我的解决方案,我认为它可以节省一些时间。

通过查看错误消息之前的日志,我发现CMake试图安装的最后一个元素:

-- Installing: path-to-anaconda/anaconda3/Lib/site-packages/cv2.cp37-win_amd64.pyd
CMake Error at modules/python3/cmake_install.cmake:45 (file):
  file INSTALL cannot copy file
  "path-to-repo/opencv/build/lib/python3/Release/cv2.cp37-win_amd64.pyd" to
  "path-to-anaconda/anaconda3/Lib/site-packages/cv2.cp37-win_amd64.pyd":
  Permission denied.
Call Stack (most recent call first):
  modules/cmake_install.cmake:183 (include)
  cmake_install.cmake:124 (include)

权限被拒绝 ...

这仅仅是因为我留下了导入了cv2的控制台,所以pyd仍在使用中并阻止了安装。这可能会扩展到正在安装的任何其他文件(DLL,.hpp),只需在此晦涩的错误消息上方看一下!至少对我而言,与cmake_install.cmake无关。

答案 1 :(得分:-4)

其中一个cmake_install.cmake文件出错,导致问题。一旦我解决了问题,它就有用了。

相关问题