VS 2017 - MSBuild из C ++ DLL с информацией о версии (ресурс) не работает (фатальная ошибка LNK1158: не удается запустить 'cvtres.exe') - PullRequest
0 голосов
/ 15 мая 2018

У меня следующая проблема с последней версией Visual Studio 2017 (начиная с 15-20 марта 2018 года):

1) Создайте Visual Studio Project для C ++ DLL (и соответствующего решения), например, dll1Prova

2) Добавить файл ресурсов (файл с расширением ".rc") с информацией о версии

3) Сохраните все файлы и скомпилируйте. Компиляция хорошая, и все кажется функциональным

4) Затем с помощью MSBuild я пытаюсь построить решение с помощью следующих команд (из командной строки):

установить VisualStudioVersion = 15,0 set 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; Конфигурация = Отладка / v: подробный

Я получаю следующую ошибку в конце журнала:

"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 проектируемый]

Эта проблема, по-видимому, связана с проблемой безопасности, потому что все работает, когда я запускаю MSBUild от имени администратора компьютера (запустите командную строку с «Запуск от имени администратора»).

Я поставил вопрос на социальном форуме Microsoft:

https://social.msdn.microsoft.com/Forums/it-IT/8829757b-0320-4765-8853-2a78b7b24485/vs-2017-msbuild-of-c-dll-with-version-information-resource-is-not-functional-fatal-error?forum=msbuild

но, когда я нашел обходной путь (запустите от имени администратора), похоже, больше не было никаких предложений / расследований. У кого-нибудь есть такая же проблема и / или какое-то решение для этого?

1 Ответ

0 голосов
/ 17 мая 2018

VS 2017 - MSBuild из C ++ DLL с информацией о версии (ресурсом) не работает (фатальная ошибка LNK1158: не удается запустить 'cvtres.exe')

Я тоже не могу воспроизвести эту проблему. Поскольку запуск «Командная строка разработчика для VS2017» в качестве администратора работает для вас, в данный момент вы можете автоматически запустить командную строку разработчика для VS2017 в качестве администратора.

Для этого откройте проводник Windows, перейдите в следующий каталог, чтобы найти командную строку разработчика для ярлыка VS2017, щелкните правой кнопкой мыши по ярлыку командной строки разработчика для VS2017 и выберите Свойства. Перейдите на вкладку «Ярлыки», нажмите «Дополнительно», выберите «Запуск от имени администратора», наконец нажмите «ОК» и затем «Применить»:

enter image description here

enter image description here

...