我正在尝试使用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
我搜索了同样的错误,发现有些尝试在没有写权限的目录中安装构建的人遇到了这个问题,但我确保我有写访问权限。我甚至尝试使用管理员权限执行此操作,但仍然无法解决此问题。
对此的任何帮助都将受到高度赞赏。
答案 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文件出错,导致问题。一旦我解决了问题,它就有用了。