Qt Creator не может открыть проект CMake из-за неправильного пути link.exe - PullRequest
1 голос
/ 01 апреля 2019

Я недавно обновил Visual Studio 2017 и теперь не могу открыть проект CMake в Qt Creator 4.8.2.

CMake успешно тестирует компилятор при запуске из cmd.exe, но не работает в Qt Creator:

Running "C:\Program Files\CMake\bin\cmake.exe -E server "--pipe=\\.\pipe\{b2399ce2-b8c1-4992-94b7-57b65efed70f}" --experimental" in D:\checkout\mateju\integrace\util\itex\build_Qt5-Release.
Starting to parse CMake project.
The C compiler identification is MSVC 19.16.27027.1
The CXX compiler identification is MSVC 19.16.27027.1
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/cl.exe
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/cl.exe -- broken
CMake Error at C:/Program Files/CMake/share/cmake-3.8/Modules/CMakeTestCCompiler.cmake:51 (message):
  The C compiler "C:/Program Files (x86)/Microsoft Visual
  Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/cl.exe" is
  not able to compile a simple test program.

  It fails with the following output:

   Change Dir: D:/checkout/mateju/integrace/util/itex/build_Qt5-Release/CMakeFiles/CMakeTmp



  Run Build Command:"nmake" "/NOLOGO" "cmTC_1344c\fast"

    "C:\Program Files (x86)\Microsoft Visual
  Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"
  -f CMakeFiles\cmTC_1344c.dir\build.make /nologo -L
  CMakeFiles\cmTC_1344c.dir\build

  Building C object CMakeFiles/cmTC_1344c.dir/testCCompiler.c.obj


    C:\PROGRA~2\MICROS~2\2017\COMMUN~1\VC\Tools\MSVC\1416~1.270\bin\HostX64\x64\cl.exe
  @C:\Users\MATEJU~1\AppData\Local\Temp\nmEB0D.tmp

  testCCompiler.c

  Linking C executable cmTC_1344c.exe

    "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe
  --intdir=CMakeFiles\cmTC_1344c.dir --manifests -- "C:\Program Files
  (x86)\Microsoft Visual
  Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\link.exe"
  /nologo @CMakeFiles\cmTC_1344c.dir\objects1.rsp
  @C:\Users\MATEJU~1\AppData\Local\Temp\nmEC75.tmp

  LINK Pass 1 failed to run.

  NMAKE : fatal error U1077: "C:\Program Files\CMake\bin\cmake.exe":
  return code 0xffffffff

  Stop.

  NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual
  Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe":
  return code 0x2

  Stop.





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


Configuring incomplete, errors occurred!
See also "D:/checkout/mateju/integrace/util/itex/build_Qt5-Release/CMakeFiles/CMakeOutput.log".
See also "D:/checkout/mateju/integrace/util/itex/build_Qt5-Release/CMakeFiles/CMakeError.log".
CMake Project parsing failed.

Как видите, путь к компилятору:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64

Однако он ищет компоновщик в пути:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

Итак, мой вопрос: Как я могу обновить путь компоновщика до (единственного существующего) 14.16.27023? Или что еще я должен сделать, чтобы продолжить использовать CMake в Qt Creator?

Я пытался найтисоответствующая опция в опциях моего компилятора Qt Creator , но она утверждает, что использует тот же самый вызов vcvarsall.bat, который хорошо работает в командной строке ...

D:\build>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.8
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

D:\build>link
Microsoft (R) Incremental Linker Version 14.16.27027.1
Copyright (C) Microsoft Corporation.  All rights reserved.
<and so on...>

Я пробовал следующие шаги безлюбой успех:

  • добавьте C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64 к PATH как ответ на аналогичный вопрос предлагает
  • запустить Qt Creator из cmd.exe после запуска vcvarsall.bat в том же окне
  • обновить CMake до последней стабильной версии (3.14.1)
  • установите и попробуйте в Qt Creator 4.9.0-rc1
  • найти строку 14.10.25017
    • в реестре Windows - без результатов
    • вкаталог Qt Creator
      • файлы конфигурации не найдены
      • найдены файлы .pdb и .lib, что, вероятно, означает, что они были созданы только с использованием этой версии Visual Studio
    • в C:\Program Files (x86)\Microsoft Visual Studio - без результатов
    • в C:\Program Files (x86)\Windows Kits - без результатов

1 Ответ

0 голосов
/ 02 апреля 2019

После нескольких неудачных предположений, упомянутых в вопросе, мне удалось открыть, собрать и запустить свой проект после того, как я выпустил

Сборка> Очистить конфигурацию CMake

в меню Qt Creator.

...