I am new to Qt and this is my first post.
I am using Qt 5.12 on two different computers … both on MSVC (MSVisual Stuido 2017 ) identical version on both the machines but at different locations
computer 1. standard location c:program files …. etc
Qt 5.12 is installed on e drive ……….that is a usb drive
computer 2. it is D: ….. etc
Qt is also installed on D:Qt directory
On computer 1, I have absolutely no problem.
QtCreator started in next minute and I could compile and run textedit project in 10 minutes.
On computer 2, I cannot use Qt creator at all
It did not set the kit itself like it did on computer 1
It told me to set up kits ……so I put the paths for cl.exe and cmake.exe (after reading on google and Qt forums)
Still when I try to compile, it throws following error:
This is what I read from General Messages tab :
Running Windows Runtime device detection.
No winrtrunner.exe found.
Project ERROR: Cannot run compiler ‘cl’. Output:
===================
Maybe you forgot to setup the environment?
Error while parsing file D:QtExamplesQt-5.12.0widgetsrichtexttextedittextedit.pro. Giving up.
Project ERROR: Cannot run compiler ‘cl’. Output:
===================
Maybe you forgot to setup the environment?
Error while parsing file D:QtExamplesQt-5.12.0widgetsrichtexttextedittextedit.pro. Giving up.
Please help or point me to where I can get proper direction.
Thanks
|
0 / 0 / 0 Регистрация: 29.05.2017 Сообщений: 3 |
|
|
1 |
|
|
30.08.2017, 12:54. Показов 6477. Ответов 5
Доброго времени суток! При попытке запустить lupdate для создания перевода в «Основные сообщения» выводится следующее: «Запускается внешняя утилита «C:Qt5.9.1mingw53_32binlupdate.exe» C:/qtprojects/CUTermProject/CUTermProject.pro «C:Qt5.9.1mingw53_32binlupdate.exe» завершилась» необходимые файлы при этом не создаются. Как решить эту проблему?
__________________
0 |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
30.08.2017, 12:54 |
|
5 |
|
3064 / 1404 / 423 Регистрация: 19.01.2009 Сообщений: 3,828 |
|
|
30.08.2017, 14:40 |
2 |
|
captain_ulitka, добавьте в системную переменную окружения PATH путь к директории где находится g++.exe
2 |
|
0 / 0 / 0 Регистрация: 29.05.2017 Сообщений: 3 |
|
|
30.08.2017, 15:45 [ТС] |
3 |
|
schdub, извините пожалуйста за глупый вопрос, но как до этой переменной добраться? Где она находится?
0 |
|
59 / 49 / 19 Регистрация: 16.06.2015 Сообщений: 206 |
|
|
30.08.2017, 20:30 |
4 |
|
Решение У меня данный файл лежит в папке QtToolsmingw530_32bin Добавлено через 1 минуту
1 |
|
0 / 0 / 0 Регистрация: 29.05.2017 Сообщений: 3 |
|
|
30.08.2017, 23:53 [ТС] |
5 |
|
schdub, terriblemike, спасибо большое за советы, все заработало
0 |
|
Rius
8860 / 5641 / 1343 Регистрация: 25.05.2015 Сообщений: 17,109 Записей в блоге: 14 |
||||||||||||
|
10.02.2018, 09:25 |
6 |
|||||||||||
|
Есть другой способ от этой ошибки: Запускается внешняя утилита «C:Qt5.10.0mingw53_32binlupdate.exe» D:/project/project.pro «C:Qt5.10.0mingw53_32binlupdate.exe» завершилась Без изменения глобальных переменных. В каталоге с комплектом Qt создаётся файл c:Qt5.10.0mingw53_32bintranslate.bat с содержимым
В QtCreator в Инструментах — Внешних утилитах меняем параметры для запуска lupdate:
0 |
У меня происходит странное явление, которое я не знаю, как исследовать.
Я надеюсь, что кто-то уже сталкивался с этим и может дать совет
Я использую gitlab CI для создания некоторых проектов на основе Qt.
gitlab runner вызывает скрипт с именем build.sh, который отлично работает, когда я запускаю его вручную как «я» в моем env dev.
Однако бегун выдает сообщение об ошибке «ОШИБКА проекта: не удается запустить компилятор« g ++ ». Возможно, вы забыли настроить среду».
Поэтому я убедился, что g++ доступен (g++ -версия в порядке), а g++ находится в PATH, но pbm все еще там.
Вот часть сценария, где находится проблема, и расследование, которое я провел
echo ">>>>>> now generating makefiles for ${PROJECT_FILE} <<<<<<"
export QTDIR=/usr/lib64/qt5
echo $QTDIR
echo QMAKESPEC is
qmake-qt5 -query QMAKE_SPEC
echo gcc version is
gcc --version
g++ --version
echo $PWD
whoami
$cmd_qMake -v
$cmd_qMake -makefile -o qMakefile ../src/${PROJECT_FILE}
echo PATH is $PATH
echo QMAKESPEC is
qmake-qt5 -query QMAKE_SPEC
echo gcc version is
gcc --version
g++ --version
И вот вывод (извините, это в режиме отладки)
>>>>>> now generating makefiles for Communication.pro <<<<<<
+ export QTDIR=/usr/lib64/qt5
+ QTDIR=/usr/lib64/qt5
+ echo /usr/lib64/qt5
/usr/lib64/qt5
+ echo QMAKESPEC is
QMAKESPEC is
+ qmake-qt5 -query QMAKE_SPEC
linux-g++
+ echo gcc version is
gcc version is
+ gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ g++ --version
g++ (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ echo /root/builds/3188cf72/0/EGNOS_V3/AIV-P/AIV-P/Shared/Communication/.buildchain
/root/builds/3188cf72/0/EGNOS_V3/AIV-P/AIV-P/Shared/Communication/.buildchain
+ whoami
root
+ qmake-qt5 -v
QMake version 3.1
Using Qt version 5.9.2 in /usr/lib64
+ qmake-qt5 -makefile -o qMakefile ../src/Communication.pro
Project ERROR: Cannot run compiler 'g++'. Maybe you forgot to setup the environment?
+ echo PATH is /opt/gcc-7.3.0/bin:/usr/bin:/usr/sbin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/bin
PATH is /opt/gcc-7.3.0/bin:/usr/bin:/usr/sbin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/bin
+ echo QMAKESPEC is
QMAKESPEC is
+ qmake-qt5 -query QMAKE_SPEC
linux-g++
+ echo gcc version is
gcc version is
+ gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ g++ --version
g++ (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ for target in '"${TARGETS[@]}"'
Как видите, g++ кажется доступным в корневом ПУТИ бегуна.
Так почему же qMake терпит неудачу?
Спасибо за вашу помощь
Залуум
Ответы
3
Ну наконец-то нашел!
Оказывается, сообщение об ошибке вообще непонятно или, по крайней мере, подлежит интерпретации.
Это не проблема с gcc, которую нельзя было найти. Однако это была проблема с моим env.
У root-пользователя не было /usr/local/lib в его LD_LIBRARY_PATH (когда он был у меня).
Причина, по которой это необходимо, мне неясна, но я подозреваю, что это как-то связано с тем, что libisl необходим для GCC 7.3.0, который является моим QMAKE_CC.
Надеюсь, это поможет кому-то
Залуум
У меня была такая же ошибка sudo apt install build-essential у меня сработало.
В большинстве случаев это проблема с настройками среды, особенно дорожка для компилятора/тулчейна и т. д.
В Windows это касается настройки переменной окружения PATH. Например, когда вы используете инструментальную цепочку minGW с g++, у вас должен быть установлен PATH, например.
C:QtToolsmingw810_64bin
Однако иногда установка его в Панели управления Windows недостаточна, потому что другое приложение (установленное вами) может играть с PATH и переопределить его. Поэтому я рекомендую всем, кто сталкивается с этой проблемой, и запускает все найденные возможные решения, во-первых, проверить, соответствует ли печать PATH в cmd (инструмент командной строки Windows) PATH, который вы установили в панели управления. Если нет, вы можете попробовать:
- Найдите причину, по которой PATH отличается,
- Проверьте, не проблема ли описана здесь: https://stackoverflow.com/a/65163187/8389251
- Добавляем нового пользователя Windows (новую учетную запись) — и запускаем там Qt Creator и компиляцию. (Все равно убедитесь, что вы правильно установили PATH в панели управления)
Другие вопросы по теме
Я установил Qt в Windows в соответствии с инструкциями, но когда я создал приложение Qt Widget, я получаю следующую ошибку:
Running Windows Runtime device detection.
No winrtrunner.exe found.
Project ERROR: Cannot run compiler 'cl'. Maybe you forgot to setup the environment?
Кроме того, в моем каталоге проекта Qt Creator я не вижу ничего, кроме своего .pro файл.
Я пробовал с этот ответ, но не смог получить никакого результата.
В моей папке установки Qt, когда я открываю Tools папка, она просто имеет QtCreator папка и нет папки компилятора.
- Установлено Qt: 5.9.1
- IDE: Qt Creator
Как исправить эту ошибку?
6
Решение
Так что после долгих усилий и исследований я наконец смог установить Qt и запустить программу, используя Qt Creator в Windows.
- Для запуска Qt вам нужен компилятор и отладчик, который не предусмотрен по умолчанию.
- Если вам просто нужно запустить программу только для Qt и дополнительные библиотеки, которые вы будете использовать, будут компилироваться с использованием MinGW, то вы можете выбрать MinGW в качестве компилятора во время установки с помощью онлайн-установщика Qt.
- Но в большинстве случаев мы сначала будем устанавливать Visual Studio. Выберите C ++ / CLI в флажке, так как он не выбран по умолчанию.
- После установки Visual Studio нам понадобится отдельный CDB отладчика, чтобы связать Qt с VS. Для этого вам нужно удалить текущий комплект разработки программного обеспечения Windows и снова установить с Вот, или измените установку в приложении «Настройки Windows». Во время установки не забудьте выбрать
Debugging Tool For Windows. Причиной удаления ранее было то, что если мы установим снова с новой выбранной опцией, она не отменит предыдущую установку. - Теперь откройте проект Qt. Идти к
Tools > Options > Build & Run > Debuggersи вы можете видеть, что отладчик должен быть обнаружен автоматически. - Теперь перейдите на вкладку наборы и выберите обнаруженный отладчик. Для компилятора выберите нужный компилятор, вы увидите предупреждение о том, что компилятор несовместим, но вы можете игнорировать это при запуске программы. (Не забудьте выбрать Применить).
2
Другие решения
Других решений пока нет …
I’m happy to help any way I can.
That’s great, thanks. 🙂
I think maybe you should try running vcvars and qmake in the same step.
I do, otherwise it would not work at all as a separate step means separate environment,
except if I would export the variables of interest through workflow command messages.
You can see the the workflow file in the run, can’t you?
Also it is not failing in the qmake step now, but in the nmake step.
There is some kind of an issue with an invalid .rc file being generated it seems, so i might try that.
What it complains about, the svn-all-fast-export_resource.rc(4) : error RC2104 : undefined keyword or key name: a6144278283d9a9906aa7c085409679be8ed15f6 is the Git commit SHA that is used as version. It is given as -DVER=""a6144278283d9a9906aa7c085409679be8ed15f6"" to rc and is defined in src.pro as
if(!defined(VERSION, var)) {
VERSION = $$system(git --no-pager show --pretty=oneline --no-notes | head -1 | cut -b-40)
}
VERSTR = '\"$${VERSION}\"' # place quotes around the version string
DEFINES += VER="$${VERSTR}" # create a VER macro containing the version string
Только что настроил новую среду Windows с MSVS 2017 и Qt5.9.1.
При создании примера проекта bars обнаружена ошибка
Project ERROR: Cannot run compiler 'cl'. Maybe you forgot to setup the environment?
С Mingw построить и работать нормально.
Я пытался добавить Пользовательский шаг сборки перед qmake .
"C:Program Files (x86)Microsoft Visual Studio2017ProfessionalVCAuxiliaryBuildvcvarsall.bat" amd64
Но получил те же результаты. В cmd эта команда работает нормально. После этого cl.exe достижим.
Все наборы инструментов были найдены автоматически Qt и, похоже, правы


Update1 . Сборка в командной строке разработчика для VS 2017
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26730.16
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
C:UsersAdminsource>"C:DevelQtQt5.9.15.9.1msvc2017_64binqmake.exe" C:DevelQtQt5.9.1ExamplesQt-5.9.1datavisualizationbarsbars.pro -spec win32-msvc
C:UsersAdminsource>nmake
Microsoft (R) Program Maintenance Utility Version 14.11.25508.2
Copyright (C) Microsoft Corporation. All rights reserved.
"C:Program Files (x86)Microsoft Visual Studio2017ProfessionalVCToolsMSVC14.11.25503binHostX86x86nmake.exe" -f Makefile.Release
Microsoft (R) Program Maintenance Utility Version 14.11.25508.2
Copyright (C) Microsoft Corporation. All rights reserved.
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_DATAVISUALIZATION_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -I......DevelQtQt5.9.1ExamplesQt-5.9.1datavisualizationbars -I. -I../../../include -I......DevelQtQt5.9.15.9.1msvc2017_64include -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtDataVisualization -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtWidgets -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtGui -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtANGLE -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtCore -Irelease -I......DevelQtQt5.9.15.9.1msvc2017_64mkspecswin32-msvc -Forelease @C:UsersAdminAppDataLocalTempnm6ED7.tmp
main.cpp
graphmodifier.cpp
Generating Code...
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_DATAVISUALIZATION_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -I......DevelQtQt5.9.1ExamplesQt-5.9.1datavisualizationbars -I. -I../../../include -I......DevelQtQt5.9.15.9.1msvc2017_64include -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtDataVisualization -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtWidgets -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtGui -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtANGLE -I......DevelQtQt5.9.15.9.1msvc2017_64includeQtCore -Irelease -I......DevelQtQt5.9.15.9.1msvc2017_64mkspecswin32-msvc -Forelease @C:UsersAdminAppDataLocalTempnm7EF5.tmp
moc_graphmodifier.cpp
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:releasebars.exe @C:UsersAdminAppDataLocalTempnm8417.tmp
Qt5DataVisualization.lib(Qt5DataVisualization.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio2017ProfessionalVCToolsMSVC14.11.25503binHostX86x86link.EXE"' : return code '0x458'
Stop.
NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio2017ProfessionalVCToolsMSVC14.11.25503binHostX86x86nmake.exe"' : return code '0x2'
Stop.
C:UsersAdminsource>
Ошибки связывания. Но cl.exe найден.
3 ответа
Лучший ответ
После следующих шагов все работает нормально.
- Установите стиль Дракулы для QtCreator 🙂
- Измените установку MSVS, добавив набор инструментов VC ++ 2015.3 v140 для настольных компьютеров (x86, x64).
Очень странно. И именно поэтому я не люблю окна. Он живет своей жизнью!
Поэтому ответ ПОПРОБУЙТЕ УСТАНОВИТЬ / изменить компоненты , включая сам QtCreator.
У меня был похожий случай, который был решен путем добавления пути к cl.exe в переменную окружения path:
set path=%path%;%qtdir%bin;"C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.12.25827binHostx64x64"
set QMakeSpec=win32-msvc
qmake -tp vc
Может быть, другой cl.exe вмешивается здесь?
4
ScaledLizard
21 Май 2018 в 21:47
Просто перезагрузитесь. Это помогло мне. Вероятно, завершает установку Visual Studio или Qt.
0
user
19 Ноя 2019 в 05:10
Сообщение было отмечено captain_ulitka как решение
