Как сделать exe файл в qt creator
C++ - Как сделать .exe файл в Qt Creator
Я работал над компилятором Qt Creator, чтобы сделать простой текстовый редактор. Я сделал это, но теперь хочу сделать .exe
файл этого проекта, но я не знаю, как сделать .exe
файл в компиляторе Qt Creator. Кто-нибудь может помочь?
2
Решение
Исполняемый файл генерируется компилятором при сборке приложения. Чтобы узнать, где хранится исполняемый файл, посмотрите в
Projects (CTRL+5) -> Build settings -> General -> Build directory
Именно здесь создатель Qt поместит .exe, который он генерирует, если у вас включена теневая сборка.
Если теневая сборка отключена, исполняемый файл будет храниться в самой папке проекта.
4
Другие решения
От:
Как создать исполняемый файл для приложения Qt?
По сути, вы должны искать подпапку MinGW глубоко в дереве Qt, где находятся утилиты Qt, и копировать необходимые библиотеки DLL.
Это шаги, которые я следую, основанные на Qt 4.7.4, для упаковки приложения с правильными общими библиотеками.
Допустим, вы установили Qt в c: \ qtsdk.
Откройте ваш проект и скомпилируйте его в режиме релиза.
Перейдите в этот каталог: C: \ QtSDK \ Desktop \ Qt \ 4.7.4 \ mingw \ bin — он содержит все общие библиотеки. Библиотеки отладки заканчиваются на «d» — frex, QtCore.dll — версия выпуска, в то время как QtCoreD.dll — версия отладки.
Скопируйте хотя бы эти файлы в каталог выпуска (где лежит ваш .exe):
- MINGWM10.DLL
- libgcc_s_dw2-1.dll
- QtCore4.dll
- qtgui4.dll
Я просто создал, протестировал и развернул фиктивный проект таким образом.
2
Существует инструмент, который автоматически добавляет DLL-файлы в Windows.
В командной строке перейдите в каталог qt bin. Это должно выглядеть примерно так: … \ Qt \ 5.9.1 \ msvc2017_64 \ bin \ (я использую visual studio).
Запустите windeployqt.exe в командной строке, указав в качестве аргумента местоположение своего проекта:
windeployqt.exe C:\project_folder\my_project.exe
Сейчас my_project.exe
будет иметь .dll в том же каталоге и будет выполняться.
2
Запуск Qt приложений .exe вне Qt Creator
В статье рассказывается как запускать приложения, созданные в Qt без самого Qt Creator. Или же приложения должны запускаться на компах, где нет Qt.
Для версии Qt под компилятор Visual Studio статья другая.
Содержание
Тут расскажу о самом механизме нахождения dll, так как Qt активно развивается и регулярно новые версии выпускает и под каждую версию писать статью о новом наборе dll накладно.
В качестве среды для разработки используется Qt 5.2.0 for Windows 32-bit (MinGW 4.8). Для версий не с компилятором MinGW алгоритм решения проблемы может быть иной.
Скачать текущую версию Qt можно тут: http://www.qt.io/download-open-source/.
Допустим, мы создали базовое приложение Qt Widgets (Базовое приложение в Qt Widgets (Qt GuiApplication)).
При запуске приложения в самом Qt Creator (при нажатии на зеленую стрелку, или же через меню, или же иным способом) мы видим наше приложение:
Когда мы создавали приложение, то мы видели следующее окно:
Указанные тут папки и есть папки, куда сохраняется наше приложение.
Если мы перейдем в папку C:\Qt\build-Example-Desktop_Qt_5_2_0_MinGW_32bit-Debug (у вас папка может по другому называться), то увидим следующее:
Зайдем в папку debug и найдем там наше приложение.
Если мы его запустим, то получим ошибку:
Как быть?
Мы же хотим, чтобы приложение запускалось на других компах? Поэтому надо в окончательном виде выдавать приложение, а не в режиме отладки.
- Внизу, над зеленым треугольником выбираем режим Release:
- Запускаем приложение, нажатием на зеленый треугольник:
- Как видим, через некоторое время запустилось привычное нам приложение. Но теперь *.exe файл появился в папке, которое мы указывали для Release:
- Заходим в эту папку (у меня это C:\Qt\build-Example-Desktop_Qt_5_2_0_MinGW_32bit-Release):
- Если в прошлый раз мы заходили в папку debug, то сейчас заходим в папку release, и запускаем приложение.
- Кстати, для последующего распространения программы нам из папки нужен (из текущих файлов) только *.exe файл, поэтому файлы main.o, mainwindow.o, moc_mainwindow.cpp, moc_mainwindow.o можно удалить без ущерба (это служебные файлы, которые при каждой компиляции будут появляться).
Итак, приложение ругается на отсутствие Qt5Core.dll (у вас может быть цифра другая, если в момент чтения статьи вышла иная версия Qt). Где этот файл искать?
- Найдите папку, в которую устанавливался Qt. У меня это папка C:\QtQt5.2.0
- В ней найдите папку с номером версии вашего Qt. У меня это первая папка с названием 5.2.0-rc1. У вас скорее всего будет немного по другому называться (у меня сейчас beta версия стоит).
- В ней будет папка компилятора MinGW:
- Переходим в неё:
- В ней находим главную папку bin:
- И в этой папке находим нужные нам dll. Находим тут Qt5Core.dll (не Qt5Cored.dll!!!) и копируем в папку C:\Qt\build-Example-Desktop_Qt_5_2_0_MinGW_32bit-Release\release (где наш *.exe файл находится). И запустим приложение:
- И вот так копируем все нужные dll, которые просит приложение. У меня потребовались следующие dll: icudt51.dll, icuin51.dll, icuuc51.dll, libgcc_s_dw2-1.dll, libstdc++-6.dll, libwinpthread-1.dll, Qt5Core.dll, Qt5Gui.dll, Qt5Widgets.dll. И вот приложение запустилось:
- Ура! Но рано радоваться. Если мы запустим на компе, где нет Qt, то приложение выдаст ошибку, так как не может найти библиотеки. Надо скопировать еще несколько файлов. Помните основную папку Qt?
- Там есть папка Tools:
- В ней есть папка QtCreator:
- В ней папка bin:
- Скопируйте файл qt.conf в папку с *.exe файлом.
- Теперь перейдите в папку с компилятором:
- А там перейдем в папку plugins, а оттуда в platforms:
- Скопируйте файлы qminimal.dll и qwindows.dll. Но вставим не просто в папку с *.exe файлом, там создадим папку plugins, а там папку platforms, и уже в нее вставим файлы. То есть для всех dll, которые нам могут пригодиться, нокоторые находятся не прямо в папке bin, то для этих dll в папке с exe файлом мы должны создать такие же папки, в которых они находились, относительно папки компилятора. В нашем случае в папке с компилятором файлы находись под именами: [путь к папке с компилятором] \plugins \platforms \qminimal.dll, [путь к папке с компилятором] \plugins \platforms \qwindows.dll. Поэтому копируйте так: [путь к папке с *.exe файлом] \plugins \platforms \qminimal.dll, [путь к папке с *.exe файлом] \plugins \platforms \qwindows.dll.
- Вот теперь приложение запустится везде! То есть вы должны вместе с exe файлом копировать все эти dll и qt.conf. На скриншоте временные файлы я не удалил.
Здесь показан принцип, как находить нужные dll. Если вы используете какие то другие компоненты, например, QWebView, то вам будут нужны еще другие dll, которые вы находите аналогичным способом.
Помните, что если вы используется QtQuick то вам еще потребуется папка qml.
Внимание! Иногда описанный выше способ не помогает. Вроде скопировали все dll, что вам могли пригодиться, приложение даже запускается, но вы видите лишь белый экран, например, или приложение вообще не появляется, но в диспетчере задач появляется.
В таком случае копируйте все dll из папки bin (а из остальных мест в виде папок, где они хранятся) и начинайте скрупулезно удалять поштучно dll до тех пор пока не сузите число файлов до минимально работающего числа. Помните, что все dll есть в двух вариантах: для release и ли debug режима. Для debug режима в имени dll появляется буква d. Эти файлы вам не нужны.
Готовим приложение на Qt к работе на другом компьютере
Как правило программы пишутся для того чтобы их впоследствии распространять. Либо в открытом доступе, либо локально (например, внутри компании).
Как сделать, чтобы пользователь мог работать с программой, написанной на Qt, на своём компьютере?
Подготовку программы на Qt к распространению можно условно разделить на два этапа:
-
Компиляция программы в «релиз»;
-
Комплектация программы необходимыми библиотеками.
Рассмотрим оба этапа применительно к Qt 5.7 с компилятором MinGW для операционной системы Windows.
Компиляция программы в «релиз»
Существуют два основных варианта компиляции приложения:
Отладочный вариант используется только на этапе разработки и не предназначен для распространения. Кроме того, при комплектации библиотеками для отладочного варианта последние должны иметь суффикс «d» в названии.
Поэтому программу перед распространением необходимо скомпилировать в варианте «Выпуск» («релиз»).
Выбрать нужный вариант компиляции можно непосредственно в рабочем окне QtCreator как показано на скриншоте.
После выбора варианта компиляции и её последующего запуска, программа будет скомпилирована соответствующим образом.
Комплектация библиотеками
После компиляции программы её следует обязательно укомплектовать необходимыми библиотеками.
Дело в том, что в папке со скомпилированной программой находится только исполняемый файл (exe). В таком виде программа будет работоспособна только при запуске из QtCreator, что для обычного пользователя совершенно не приемлемо (да и для самого разработчика не всегда удобно).
Конкретный перечень необходимых библиотек зависит от проекта. Ниже приведён список самых основных из них (которые требуются для запуска любого Qt приложения).
Библиотеки собственно Qt:
-
Qt5Core.dll;
-
Qt5Gui.dll;
-
Qt5Widgets.dll.
Их, а также другие библиотеки Qt можно найти в папке: папка_установки_Qt\Tools\mingw530_32\bin
Служебные библиотеки компилятора:
-
libgcc_s_dw2-1.dll;
-
libstdc++-6.dll;
-
libwinpthread-1.dll.
Их можно найти в папке: папка_установки_Qt\5.7\mingw53_32\bin
Для того чтобы укомплектовать своё приложение необходимыми библиотеками достаточно просто скопировать их в папку с исполняемым файлом.
После этого программа будет готова к распространению и можно приступать к созданию инсталлятора или просто упаковать приложение вместе со всеми библиотеками, например, в zip архив.
Обратите внимание!
Библиотеки для приложения следует копировать именно из папок mingw, а не QtCreator. В последнем случае программа будет укомплектована библиотеками, которые предназначены только для QtCreator и, как следствие, может в итоге оказаться неработоспособной.
Как создать исполняемый файл для Qt приложения?
Я искал в интернете какую-то полезную и четкую информацию об этом, это раздражает, что такая тривиальная вещь так трудно сделать.
Мне нужно создать исполняемый файл для моего проекта Qt, чтобы запустить его на других компьютерах. Мой проект хорошо работает в Qt Creator, но когда я пытаюсь запустить исполняемый файл, созданный в папке release, я получаю ошибки о некоторых dll, отсутствующих, и хотя я поместил их все в тот же каталог моего .exe я теперь получил некоторые ошибки о entrypoints в процедурах внутри dll (QtCore4.файл DLL.)
решение похоже на статическую связь, я нашел много информации об этом, но никто из них мне не помог. Вот что я пробовал до сих пор:
- используя исполняемый файл, созданный в папке release, как я сказал выше.
- статическая связь, следуя этому руководству (и многим другим, все почти то же самое): http://doc.qt.io/qt-4.8/deployment-windows.html но я получаю следующую ошибку во время "configure-static": NMAKE: фатальная ошибка U1077: '"c:\Arquivos de programas\Microsoft Visual Studio 9. 0\VC\BIN\cl.EXE"': код возврата '0x2' Остановка. Не удалось построить qmake, код возврата 2
для этого я не мог найти никакого решения, поэтому я здесь, просто пытаюсь создать исполняемый файл для моего проекта Qt, надеюсь, вы, ребята, можете дать мне немного света здесь.
14
автор: Christophe Weis
3 ответов
в основном вам нужно искать подпапку mingw глубоко в дерево qt, где находятся утилиты qt, и копировать необходимые dll.
Это шаги, которые я выполняю, основываясь на QT 4.7.4, для упаковки приложения с правильными общими библиотеками.
- предположим, вы установили QT под c:\qtsdk
- откройте проект и скомпилируйте его в режиме выпуска.
- перейдите в этот каталог: C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin -- он содержит все общие библиотеки. Библиотеки отладки заканчиваются на "d" -- frex, QtCore.dll-это версия выпуска, в то время как QtCoreD.dll-это отладочная версия
-
скопировать по крайней мере эти файлы в ваш каталог выпуска (где ваш .ехе лежит)
- mingwm10.dll файлы
- libgcc_s_dw2-1.dll файлы
- вместо qtcore4.dll файлы
- QtGui4.dll файлы
Я только что построил, протестировал и развернул фиктивный проект таким образом.
14
автор: Max Lambertini
вот что я сделал,и я заставил его работать через некоторое время;убедившись, что ваша программа строится внутри Qtcreator, перейдите в каталог, содержащий ваш exe и дважды щелкните по нему.(Я использую windows и не знаю, является ли это то же самое на других платформах).Окно должно всплывать, сообщая вам, что .dll отсутствует.Перейдите в каталог, где установлен Qt, и введите точное имя в строке поиска (вверху справа в Windows 7), и dll должна появиться в результатах поиска.Щелкните правой кнопкой мыши и выберите откройте расположение файла.Скопируйте файл, в котором находится exe .Дважды щелкните по exe снова.Если другой .dll отсутствует повторите то же самое, пока никто не отсутствует.В конце концов, ваша программа должна работать. Надеюсь, это поможет.
Итак, вы загрузили Qt SDK и хотите статически связать библиотеки Qt с вашим приложением, верно?
прежде всего, если вы связываете статически, вам не нужен Qt*.dll, чтобы присутствовать в любом месте, потому что он встроен в приложение. Только это означает, что ваше приложение построено с использованием динамической компоновки.
по моему опыту, самый безопасный способ заставить все это работать:
загрузите источники Qt, создайте и установите их с помощью nmake ( используя Visual Командная строка Studio из меню Пуск - > приложение - > Visual Studio 2008). Просто помните, что размер статически приложения зависит от размера *.libs и они зависят от конфигурации предварительной сборки, например, вы можете минимизировать размер вашего приложения, отключив некоторые функции ( это пример конфигурации для MacOSX, просто следите за теми, которые специфичны для Windows, и добавьте правильный plaftorm-см. configure.exe --help
подробнее ):
./configure -arch x86 -platform macx-g++ --universal -cocoa -debug-and-release -opensource -static -fast -no-accessibility -no-sql-sqlite -no-qt3support -no-opengl -no-openvg -qt-zlib -no-gif -no-libmng -qt-libmng -no-libtiff -qt-libjpeg -no-3dnow -sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-multimedia -no-audio-backend -webkit -no-script -no-scripttools -no-declarative -nomake demos -nomake examples -no-exceptions -no-accessibility -confirm-license
установка, настройка и использование надстройки Visual Studio для проекта Qt (здесь ).
Удачи! :)
Компиляция QT-программы под Windows — зависимости / Хабр
Ради интереса решил пощупать Qt.Соответственно, скачал Qt Creator, создал проектик, поигрался с экшнами и прочим. И захотелось проектик этот собрать в .exe-файл.
Дебаг в рамках Creator выполнялся идеально, а вот после Build — .exe выдал мне требование зависимости mingwm10.dll.
Полез в Google, и после некоторого времени поиска сообразил скопировать
C:\QT\QTCreator\bin\mingwm10.dll, а так же
C:\QT\QTCreator\qt\bin\QtCore4.dll
C:\QT\QTCreator\qt\bin\QtGui4.dll
в папку с билдом. Только после этого и заработало.
Но остаётся проблема последующего распространения программы. Неужели для того, чтобы передать другому человеку своё творение размером в 100 килобайт, надо делать инсталлер, чтобы закидывать вышеуказанные файлы в System32?
Уважаемые знатоки, просвятите меня — разве никак нельзя собрать проект вместе с зависимостями?
Может, как-то можно уменьшить объём 13-ти мегабайт библиотек для работы 100 килобайтной программы?
UPD: Знатоки пишут, что библиотеки обязательны.
Выбор невелик тогда — или паковать NSISом (получилось 4.5 мегабайта на пустой проект), или же делать сетевой инсталлер с вспомогательной программкой, которая будет тянуть зависимости, или же делать solid — как есть.
Даже если собирать библиотеки static — то получится просто раздутый .exe-файл
Как запустить exe ве Qt Creator?? — Хабр Q&A
1.Если по тупому, то запускайте софтину, она будет ругаться на отсутствие библиотеки, эту библиотеку ищите в недрах mingw копируете в каталог с исполняемым файлом. Повторяете процедуру до тех пор пока софтина не перестанет ругаться на отсутствие библиотек.2.Чуть по технологичнее: берете dependency walker открываете им ваш исполняемый файл, смотрите от каких библиотек он зависит (в глубину то же нужно смотреть, а не только первый уровень) ищите и копируете библиотеки аналогично п.1.
3.По умному: прописываете путь mingw/bin в переменной окружения PATH и наслаждаетесь. При этом ничего копировать не придется.
Но если вы задумаете распространять ваш софт другим людям, это не избавит вас от необходимости устранять зависимости, т.е. вы все равно должны будете либо собрать все библиотеки в одном каталоге с исполняемым файлом, либо обязать пользователя устанавливать mingw и прописывать его путь в переменную PATH.
c ++ - Как создать исполняемый файл для приложения Qt?
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
- как создать файл .exe для моего приложения на основе Qt
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с сотрудником
Создать файл .exe, который может выполняться в Linux и Windows Автор QT Creator
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
c ++ - Создание / запись в новый файл в Qt
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
FAQ | Qt Creator Руководство
Этот раздел содержит ответы на некоторые часто задаваемые вопросы о Qt Creator. Вы также можете найти ответы на свои вопросы в разделах "Известные проблемы" и "Инструкции" или в разделах "Устранение неполадок" для специальной области, например для отладки.
Общие вопросы
Как сбросить все настройки Qt Creator?
Удалите файлы настроек, созданные Qt Creator.
Для получения дополнительной информации о расположении файлов на каждой поддерживаемой платформе см. Расположение файлов настроек.
Qt Creator поставляется с MinGW, следует ли мне использовать эту версию с Qt?
Используйте версию, созданную для версии Qt.
Qt Creator не находит вспомогательное приложение, такое как Git или компилятор. Что я должен делать?
Убедитесь, что приложение находится в вашей системе в PATH при запуске Qt Creator. Также выберите Tools > Options , чтобы проверить настройки, указанные для приложения. Многие плагины указывают либо путь к нужному им инструменту, либо среду, в которой они работают.
Это особенно актуально для macOS, где / usr / local / bin
может отсутствовать в пути при запуске Qt Creator.
Как изменить язык интерфейса для Qt Creator?
Qt Creator был локализован на несколько языков. Если системный язык является одним из поддерживаемых языков, он выбирается автоматически. Чтобы изменить язык, выберите Tools > Options > Environment и выберите язык в поле Language .Выберите Restart Now , чтобы перезапустить Qt Creator и изменения вступят в силу.
Решена ли проблема, о которой сообщалось?
Вы можете найти любую проблему в Qt Project Bug Tracker.
Вопросы по интеграции Qt Designer
Почему пользовательские виджеты не загружаются в режиме дизайна, хотя он работает в автономном Qt Designer?
Qt Designer выбирает подключаемые модули из стандартных мест и загружает подключаемые модули, соответствующие ключу сборки.Расположение отдельного и интегрированного Qt Designer отличается.
Для получения дополнительной информации см. Добавление подключаемых модулей Qt Designer.
QML и Qt Быстрые вопросы
Почему под моим импортом QML отображается красная линия, хотя у меня есть модуль?
По умолчанию Qt Creator ищет в пути импорта QML Qt модули QML. Иногда это не так, и вам нужно указать, где находятся модули, указав QML_IMPORT_PATH
в .pro
вашего приложения.
Это также позволяет завершить код QML-кода и удалить сообщения об ошибках.
В следующем примере показано, как указать путь импорта, чтобы он работал при переключении между наборами сборки и запуска для разных целевых платформ:
TEMPNAME = $$ {QMAKE_QMAKE} MY_QTPATH = $$ dirname (TEMPNAME) QML_IMPORT_PATH + = $$ MY_QTPATH /../ qml сообщение ("мой путь импорта QML:" $$ QML_IMPORT_PATH)
Для получения дополнительной информации о том, как установить путь импорта при использовании CMake, см. Импорт модулей QML.
Что мне делать, если Qt Creator жалуется на отсутствие поддержки OpenGL?
Некоторые части Qt Creator, такие как режим «Дизайн» и QML Profiler, используют Qt Quick 2, который полагается на OpenGL API для рисования. К сожалению, использование OpenGL может вызвать проблемы, особенно при удаленной настройке и с устаревшими драйверами. В этих случаях Qt Creator отображает сообщения об ошибках, связанных с OpenGL, на консоли или записывает их в журнал отладчика Windows.
Исправления и обходные пути различаются в зависимости от вашей настройки.В крайнем случае, вы можете отключить затронутые плагины.
Виртуальные машины
Попробуйте включить 3D-ускорение в настройках вашей виртуальной машины. Для VirtualBox также убедитесь, что вы установили гостевые надстройки, включая экспериментальную поддержку Direct3D .
Окна
Проверьте, скомпилирован ли Qt Creator с OpenGL / Desktop или ANGLE в качестве бэкэнда. Официальные двоичные файлы всегда создаются с использованием ANGLE (библиотеки, которая отображает OpenGL ES API на DirectX).
- Бэкэнд ANGLE: для этого требуется версия Windows новее, чем Windows XP. Если у вас возникли проблемы, попробуйте обновить драйверы видеокарты или обновить версию DirectX. Запустите
dxdiag.exe
, чтобы проверить, действительно ли Direct3D Acceleration включено. - Серверная часть OpenGL: убедитесь, что ваш графический драйвер поддерживает OpenGL 2.1 или новее. Попробуйте обновить драйвер видеокарты.
Unix
Запустите glxgears
, чтобы быстро проверить, работает ли OpenGL в целом.Проверьте выходные данные glxinfo
, чтобы получить дополнительные сведения, такие как драйвер и средство визуализации OpenGL (найдите OpenGL в выходных данных приложения).
Если вы используете драйвер Mesa, вы можете принудительно отобразить OpenGL в программном обеспечении, установив переменную среды LIBGL_ALWAYS_SOFTWARE
.
Отключение плагинов
Вы можете отключить плагины Qt Creator за счет потери функциональности:
- Запустите Qt Creator из командной строки с аргументами
-noload QmlProfiler -noload QuickDesigner
. - Отключите плагины навсегда, выбрав Справка > О плагинах .
Справочные вопросы
Отсутствует справочная документация по Qt API, а в контекстной справке не найдены темы. Что я могу сделать?
Qt Creator полностью интегрирован с документацией Qt и примерами, использующими подключаемый модуль Qt Help. Интегрированная справочная документация Qt доступна для Qt 4.4 и новее. Qt Creator и другие продукты Qt содержат документацию в виде.qch файлы. Вся документация доступна в режиме Help .
Чтобы просмотреть имеющуюся документацию и добавить документацию, выберите Инструменты > Параметры > Справка > Документация . Для получения дополнительной информации см. Добавление внешней документации.
Вопросы отладчика
Для получения информации об устранении неполадок отладчика см. Устранение неполадок отладчика.
Если у меня есть выбор из версий GDB, какую я должен использовать?
В Linux и Windows используйте версии GDB с поддержкой Python, которые устанавливаются при установке Qt Creator и Qt.В macOS GDB больше не поддерживается официально. Чтобы построить свой собственный GDB с поддержкой Python, следуйте инструкциям в Сборке GDB.
Вы должны использовать Python версии 2.6 или 2.7.
Для получения дополнительной информации о настройке отладчика см. Настройка отладчика.
Как мне сгенерировать основной файл в Qt Creator?
Чтобы запустить команду GDB, которая генерирует файл ядра во время отладки, выберите View > Views > Debugger Log .В поле Command введите gcore
и нажмите Введите . Основной файл создается в текущем рабочем каталоге. Вы можете указать другое расположение для файла, включая относительный или абсолютный путь, в качестве аргумента команды.
Вопросы компилятора
Как я могу использовать свой многоядерный процессор с Qt Creator?
В Linux и macOS перейдите в режим Projects , выберите свою конфигурацию в Build Settings , найдите Build Steps и добавьте следующее значение, где
- количество ядер в вашем процессоре : -j <число>
В Windows nmake не поддерживает параметр -j
.Вместо этого мы предлагаем замену под названием jom. Вы можете загрузить предварительно скомпилированную версию jom из Qt Downloads. Поместите jom.exe в папку% PATH%. Перейдите в Build Settings и установите jom.exe в качестве команды make.
Примечание: В отличие от GNU make, jom автоматически определяет ваши ядра и порождает столько параллельных процессов, сколько ядер у вашего процессора. Вы можете изменить это поведение, используя параметр -j
, как описано выше.
Вопросы по установке Qt
Я не могу использовать QSslSocket с Qt, установленным из бинарных пакетов.Что я должен делать?
Qt в двоичных пакетах собран с определенным QT_NO_OPENSSL. Восстановление возможно. Для получения дополнительной информации см. Http://www.qtcentre.org/threads/19222-Qssl.
Какие пакеты разработки из дистрибутива необходимы для Ubuntu или Debian?
sudo apt-get установить libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev
Если вы используете QtOpenGL, вам также потребуется:
sudo apt-get установить libgl-dev libglu-dev
Где выводится приложение в Qt Creator?
В Unix (Linux и macOS): qDebug ()
и связанные функции используют стандартный вывод и вывод ошибок.Когда вы запускаете или отлаживаете приложение, вы можете просматривать выходные данные на панели Application Output .
Для консольных приложений, требующих ввода, выберите Projects > Run Settings > Run в терминале . Чтобы указать используемый терминал, выберите Tools > Options > Environment > System .
В Windows: Вывод отображается по-разному для консольных приложений и приложений с графическим интерфейсом .
Параметр CONFIG + = console
в файле .pro указывает, что приложение создается как консольное приложение с использованием другой среды выполнения. Когда вы запускаете консольное приложение, вы можете просматривать вывод в окне консоли вызывающего приложения. Если вызывающее приложение является приложением с графическим пользовательским интерфейсом (например, выпущенной версией Qt Creator), открывается новое окно консоли. Для этого типа приложений qDebug ()
и связанные функции используют стандартный вывод и вывод ошибок.
Мы рекомендуем выбрать Projects > Run Settings > Run в терминале для консольных приложений.
Для приложений с графическим интерфейсом qDebug ()
и связанные функции используют функцию Windows API OutputDebugString ()
. Результат отображается на панели Application Output . Однако одновременно может быть открыта только одна вкладка панели вывода или вывод отображается неправильно. Вы можете использовать внешнее средство просмотра вывода отладки, например DebugView для Windows, для отображения вывода из приложений с графическим интерфейсом пользователя.
Вопросы о новых функциях
Будет ли реализована запрошенная функция?
Если это запланированная функция, вы можете увидеть это в трекере задач. Если функция уже была реализована, она упоминается в файле изменений для предстоящего выпуска.
Почему Qt Creator не использует вкладки для редакторов?
Этот вопрос возникает время от времени, поэтому мы внимательно его рассмотрели. Вот наши основные причины, по которым мы не используем вкладки:
- Табуляторы не масштабируются.Они работают нормально, если у вас открыто от 5 до 6 редакторов, они становятся громоздкими с 10, а если вам нужно больше горизонтального пространства, чем панель вкладок, интерфейс не работает вообще.
- Таблетки не адаптируются к вашему рабочему набору.
- Распространенное решение - дать пользователю возможность переупорядочивать вкладки. Теперь пользователю нужно управлять вкладками, а не писать код.
- Вкладки заставляют ограничивать количество открытых редакторов, иначе запутаешься.
Рассмотрим следующий вариант использования: Разработчики хотят сменить редактора.
На самом деле разработчики не хотят менять редакторов, но, возможно, им придется это сделать для выполнения своих задач. Нам нужно выяснить, каковы задачи, чтобы предоставить разработчикам лучшие способы навигации при выполнении задач.
Одним из распространенных факторов во многих случаях использования является смена редактора при работе с набором открытых файлов. При работе с файлами A и B пользователям иногда требуется просмотреть файл C. Они могут нажимать Ctrl + Tab , чтобы перемещаться между файлами и открывать файлы в правильном редакторе в соответствии с типом файла.Список отсортирован по времени последнего использования.
Обычно пользователи также работают с несколькими связанными классами или функциями, даже если они определены или объявлены в разных файлах. Qt Creator предоставляет для этого два ярлыка: F2 , чтобы следовать за символом под курсором, и Ctrl + Shift + U , чтобы найти ссылки на него.
Дополнительно разработчики могут:
- Нажмите F4 для переключения между заголовком и источником.
- Нажмите Alt + Left , чтобы вернуться в историю навигации.
- Используйте локатор (Ctrl + K), чтобы просто указать Qt Creator, куда идти.
Локатор можно использовать для открытия файлов, но открытие файлов - это всего лишь шаг на пути к выполнению задачи. Например, рассмотрим следующий вариант использования: Исправить AFunction в SomeClass, который поступает из someclass.cpp / someclass.h .
В пользовательском интерфейсе с вкладками разработчики будут искать someclass.cpp на панели вкладок, а затем искать :: AFunction
только для того, чтобы обнаружить, что функция не находится в этом файле.Затем они будут искать someclass.h на панели вкладок, обнаруживают, что функция встроена, исправляют проблему и забывают, откуда они пришли.
В Qt Creator разработчики могут набрать Ctrl + K m AFun
, чтобы найти функцию. Как правило, им нужно ввести от 3 до 4 символов имени функции. Затем они могут решить проблему и нажать Alt + Back , чтобы вернуться туда, где они были.
Другие фильтры локатора включают c
для классов, :
для всех символов и (благодаря вкладу сообщества) .
для символов в текущем файле.
c ++ - я не могу найти файл .exe, который должен создавать qt-creator
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы