VS сообщает об устаревшем объектном файле, когда он был только что построен / создан. Как я могу отключить / LTCG для тестирования? - PullRequest
1 голос
/ 25 апреля 2020

Я пытаюсь построить Панголин с расширением Python pybind11 для Windows. Это проект на основе cmake, который я пытаюсь построить с использованием VS2017. (У меня был go с использованием MinGW64 и CodeBlocks, но у меня было слишком много проблем) Я, кажется, близок к тому, чтобы дойти до конца, но потом спотыкаюсь при связывании.

VS сообщает, что файл (вложения. cpp .obj) был создан со старым компилятором. Но когда я смотрю на метку времени этого файла, он был только что создан. Это также недавно клонированный экземпляр проекта Pangolin, и я не использовал с ним никакого другого компилятора / компоновщика.

Это настоящие сообщения об ошибках:

  [46/46] cmd.exe /C "cd . && D:\software_installs\VS2017Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_dll --intdir=src\CMakeFiles\pypangolin.dir --manifests  -- D:\software_installs\VS2017Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\link.exe /nologo src\CMakeFiles\pypangolin.dir\python\pypangolin\attach.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\colour.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\datalog.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\display.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\gl.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\gl_draw.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\glsl.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\handler.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\image.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\image_view.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\opengl_render_state.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\params.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\pixel_format.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\plotter.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\var.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\video.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\view.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\viewport.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\widget.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\window.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin_module.cpp.obj  /out:src\pypangolin.cp36-win_amd64.pyd /implib:src\pypangolin.lib /pdb:src\pypangolin.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL -LIBPATH:C:\PROGRA~2\WI3CF2~1\10\Lib\100177~1.0\ucrt\x64 C:\Python36\libs\Python36.lib src\pangolin.lib opengl32.lib glu32.lib C:\Python36\libs\Python36.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\glew.lib mf.lib mfplat.lib mfreadwrite.lib mfuuid.lib strmiids.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libpng16_static.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libzlibstatic.a C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libjpeg.a kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib  && cd ."
  FAILED: src/pypangolin.cp36-win_amd64.pyd 
  cmd.exe /C "cd . && D:\software_installs\VS2017Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_dll --intdir=src\CMakeFiles\pypangolin.dir --manifests  -- D:\software_installs\VS2017Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\link.exe /nologo src\CMakeFiles\pypangolin.dir\python\pypangolin\attach.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\colour.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\datalog.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\display.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\gl.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\gl_draw.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\glsl.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\handler.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\image.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\image_view.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\opengl_render_state.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\params.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\pixel_format.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\plotter.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\var.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\video.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\view.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\viewport.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\widget.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\window.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin_module.cpp.obj  /out:src\pypangolin.cp36-win_amd64.pyd /implib:src\pypangolin.lib /pdb:src\pypangolin.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL -LIBPATH:C:\PROGRA~2\WI3CF2~1\10\Lib\100177~1.0\ucrt\x64 C:\Python36\libs\Python36.lib src\pangolin.lib opengl32.lib glu32.lib C:\Python36\libs\Python36.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\glew.lib mf.lib mfplat.lib mfreadwrite.lib mfuuid.lib strmiids.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libpng16_static.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libzlibstatic.a C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libjpeg.a kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib  && cd ."
  LINK Pass 1: command "D:\software_installs\VS2017Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\link.exe /nologo src\CMakeFiles\pypangolin.dir\python\pypangolin\attach.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\colour.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\datalog.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\display.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\gl.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\gl_draw.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\glsl.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\handler.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\image.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\image_view.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\opengl_render_state.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\params.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\pixel_format.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\plotter.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\var.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\video.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\view.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\viewport.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\widget.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin\window.cpp.obj src\CMakeFiles\pypangolin.dir\python\pypangolin_module.cpp.obj /out:src\pypangolin.cp36-win_amd64.pyd /implib:src\pypangolin.lib /pdb:src\pypangolin.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL -LIBPATH:C:\PROGRA~2\WI3CF2~1\10\Lib\100177~1.0\ucrt\x64 C:\Python36\libs\Python36.lib src\pangolin.lib opengl32.lib glu32.lib C:\Python36\libs\Python36.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\glew.lib mf.lib mfplat.lib mfreadwrite.lib mfuuid.lib strmiids.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libpng16_static.lib C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libzlibstatic.a C:\Users\Fred\CMakeBuilds\2a8b3e97-005e-803f-a2dd-1ca65471a4a2\install\x64-Release\lib\libjpeg.a kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:src\CMakeFiles\pypangolin.dir/intermediate.manifest src\CMakeFiles\pypangolin.dir/manifest.res" failed (exit code 1257) with the following output:
  attach.cpp.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
C:\WINDOWS\system32\LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
C:\WINDOWS\system32\EXEC : fatal error C1047: The object or library file 'src\CMakeFiles\pypangolin.dir\python\pypangolin\attach.cpp.obj' was created with an older compiler than other objects; rebuild old objects and libraries
C:\WINDOWS\system32\LINK : fatal error LNK1257: code generation failed
  ninja: build stopped: subcommand failed.

Я пытался чтобы найти, где отключить '/ LTCG', но это трудно сделать как проект cmake. Я должен признаться, что мне пришлось переименовать один или два файла .lib и скопировать в нечетный предварительно скомпилированный .lib, чтобы получить это далеко, из-за несоответствия в CMakeLists et c.

Кто-нибудь знает, почему это происходит? Или хотя бы как можно проверить ссылку без / LTCG?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...