【问题标题】:PreLinkEvent failing with error MSB3073 in Release configPreLinkEvent 在发布配置中失败并出现错误 MSB3073
【发布时间】:2021-06-12 11:51:15
【问题描述】:

仅在发布配置中看到此失败。我看到很多人都问过类似的问题,但在他们的情况下,问题出现在 Postbuild 期间,而且在几乎所有情况下,错误更有意义。

PreLinkEvent:
  Auto build dll exports
  setlocal
  cd C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win
  if %errorlevel% neq 0 goto :cmEnd
  C:
  if %errorlevel% neq 0 goto :cmEnd
  C:\cmake-3.17.0-win64-x64\bin\cmake.exe -E __create_def C:/myfolder/examples/windows/calculator/windows_Release_aarch64.cmake.win/calculator.dir/Release/exports.def C:/myfolder/examples/windows/calculator/windows_Release_aarch64.cmake.win/calculator.dir/Release//objects.txt
  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
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: The command "setlocal [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: cd C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: C: [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: C:\cmake-3.17.0-win64-x64\bin\cmake.exe -E __create_def C:/myfolder/examples/windows/calculator/windows_Release_aarch64.cmake.win/calculator.dir/Release/exports.def C:/myfolder/examples/windows/calculator/windows_Release_aarch64.cmake.win/calculator.dir/Release//objects.txt [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: :cmEnd [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: :cmErrorLevel [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: exit /b %1 [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: :cmDone [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(148,5): error MSB3073: :VCEnd" exited with code -1073741819. [C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj]
Done Building Project "C:\myfolder\examples\windows\calculator\windows_Release_aarch64.cmake.win\calculator.vcxproj" (default targets) -- FAILED.

我比较了 Debug 和 Release 中的 PreLinkEvent 行,除了文件夹名称外,它们完全相同。任何线索表示赞赏。

【问题讨论】:

    标签: cmake msbuild linker linker-errors msvc12


    【解决方案1】:

    删除 /GL 编译器标志后问题得到解决。我只为发布配置添加了它,因此在调试配置中没有发现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多