最新的Visual Studio 2017(从2018年3月15日开始)出现以下问题:
1)为C ++ DLL(及相关解决方案)创建Visual Studio项目,例如dll1Prova
2)添加带有版本信息的资源文件(扩展名为“.rc”的文件)
3)保存所有文件并编译。编译很好,似乎都很实用
4)然后使用MSBuild我尝试使用以下命令构建解决方案(来自命令提示符):
设置VisualStudioVersion = 15.0 设置VCTargetsPath = C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ VC \ VCTargets
“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ msbuild.exe”dll1Prova.sln / nologo / p:PlatformToolset = v141; Configuration = Debug / v:detailed
我在日志结尾处获得以下错误:
“C:\ Users \ LazzaAnd \ source \ repos \ Dll1Prova \ dll1Prova.sln”(默认目标)(1) - > “C:\ Users \ LazzaAnd \ source \ repos \ Dll1Prova \ Dll1Prova \ Dll1Prova.vcxproj”(默认目标)(2) - > (链接目标) - > 链接:致命错误LNK1158:无法运行'cvtres.exe'[C:\ Users \ LazzaAnd \ source \ repos \ Dll1Prova \ Dll1Prova \ Dll1Prova.vcx PROJ]
此问题似乎与安全问题有关,因为当我将MSBUild作为计算机管理员运行时,所有功能都正常运行(使用“以管理员身份运行”启动命令提示符)。
我在微软社交论坛上提出了一个问题:
但是,当我找到解决方法(以管理员身份运行)时,似乎没有进一步的建议/调查。 有没有人有同样的问题和/或解决方案?
答案 0 :(得分:0)
VS 2017 - 带有版本信息(资源)的C ++ DLL的MSBuild不起作用(致命错误LNK1158:无法运行' cvtres.exe')
我也无法重现这个问题。自启动"开发人员命令提示VS2017"当管理员为您工作时,此时,您可以自动运行VS2017作为管理员的开发人员命令提示符作为解决方法。
要完成此操作,请打开Windows资源管理器,导航到以下目录以查找VS2017的开发人员命令提示符快捷方式,右键单击VS2017的“开发人员命令提示符”快捷方式,然后单击“属性”。切换到Shortcut选项卡,单击Advanced,选中Run as administrator,最后单击Ok,然后单击Apply: