Visual Studio:MSB3073错误以代码1退出

23

大家好。我正在使用Visual Studio 2013编译DCMTK 3.6.1。我的操作系统是Windows 8。我还使用了CMake 3.2.3。我已经成功地编译了ALL_BUILD项目的64位debug和release版本。但是,对于INSTALL项目,我无法编译它,因为出现了以下错误:

Error   1   error MSB3073: The command "setlocal
"C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Release -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
根据这个链接,我需要管理员权限。但我已经在管理员模式下运行Visual Studio了。请问有人可以告诉我可能做错了什么吗?非常感谢!

2
那个错误可能出现的原因有很多。通常,您可以实际查看错误日志。搜索CMakeOutput.log和CMakeError.log,看看它们是否提供了更多细节。 - AndyG
我曾经遇到过同样的问题,我的解决方法是在新地址中不加空格,这样它就起作用了。 - Majid
7个回答

20

在CMake GUI中指定另一个值作为CMAKE_INSTALL_PREFIX怎么样?也就是说,一个你确定拥有写入权限的目录。


我将其更改为 C 中的一个新目录,它不需要管理员权限,并且名称没有空格(只是为了确保),它起作用了!谢谢! - noobalert
如何在CMakeLists.txt中添加CMAKE_INSTALL_PREFIX - skytree
@skytree,你可以不用那样做,有以下两种方法:1.在CMakeCache.txt文件中修改属性;2.使用CMake GUI指向包含CMakeLists.txt的文件夹,修改属性并点击Generate按钮,这会完成相同的操作。 - Big Al

5

这是一个旧帖子,但当我尝试在靠近C盘根目录的文件夹中使用VS 16 2019安装OpenCV时,遇到了相同的问题。

解决方法:以管理员身份打开cmd,打开SLN项目(在我的情况下是 <OpenCV.sln>),然后在INSTALL上运行“Build”。这样就可以完美解决问题。


1
有时构建输出会比错误本身提供更多上下文。
在我的情况下,这个问题是由于给定了一个无效的文件路径作为应该安装的内容引起的。

0
我曾经遇到过类似的错误,如果您能检查路径中是否有空格或特殊字符。例如,我有一个文件名为“ABC&D”的目录,通过删除&符号,问题得以解决。此外,赋予管理员权限也应该是解决问题的尝试之一。

0

最佳解决方案; CMAKE_INSTALL_PREFIX 如果您选择发布/调试,则在相同的模式下通过CMake配置后。 只需尝试


0
只需打开提示符并运行“C:\ Program Files(x86)\ CMake \ bin \ cmake.exe” -DBUILD_TYPE = Release -P cmake_install.cmake(或类似于VS错误列表中显示的内容),然后查看问题所在。 在我的情况下,问题是样本未编译,因此我进入模块目录并手动编译每个必要的模块。 编译模块后,再次运行命令并查看发生了什么,重复此过程直到解决问题。

0

这是一个简单的两步修复。

第一步是删除只读文件夹属性。要做到这一点,只需转到您克隆要构建的软件的位置,右键单击包含文件夹并取消选中只读复选框。

第二步是退出Visual Studio并作为管理员/使用sudo权限启动终端(如果在Linux / Mac上)。导航到构建文件夹并键入解决方案名称。这将以管理员权限打开VC。

这为我解决了问题。


Windows怎么样? - Ahmed Can Unbay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接