![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.149.233.188] |
![]() |
|
Страницы: (4) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
![]() |
|
|
Здравствуйте!
Начал изучать QT (Windows 10, msys2, mingw-w64-x86_64). Возникли следующие вопросы: 1. При запуске qtcreator появляется окно (скриншот прикрепил). С помощью msys2 для Clang ничего не ставил. Как избавиться от этого окна при запуске qtcreator? 2. При попытке скомпилировать проект из учебного курса (проект прикрепил) появляется ошибка: ![]() ![]() :-1: ошибка: [Makefile.Debug:108: debug/QtWidgets_en.qm] Error 2 mingw32-make[1]: *** [Makefile.Debug:108: debug/QtWidgets_en.qm] Error 2 mingw32-make[1]: Leaving directory 'N:/MyProgramming/qtBook/build-QtWidgets-Desktop_Qt_6_6_2_shared_MinGW_w64_MINGW64_MSYS2-Debug' mingw32-make: *** [Makefile:45: debug] Error 2 23:01:49: Процесс «N:\msys64\mingw64\bin\mingw32-make.exe» завершился с кодом 2. Ошибка при сборке/развёртывании проекта QtWidgets (комплект: Desktop Qt 6.6.2 (shared) MinGW-w64 MINGW64 (MSYS2)) Комплект Desktop Qt 6.6.2 (shared) MinGW-w64 MINGW64 (MSYS2) имеет недостатки в конфигурации, которые могут быть источниками данной проблемы. Во время выполнения этапа «Сборка» Я установил mingw-w64-x86_64-qt6-multimedia, но ошибка все равно появляется. Подскажите, пожалуйста, как определить, чего не хватает проекту и как правильно настроить проект? Проект находится на локальном диске N: N:\MyProgramming\qtBook\QtWidgets\ Прикреплённая картинка
Прикреплённый файл ![]() |
Сообщ.
#2
,
|
|
|
На сколько я помню, могу ошибаться, ClangFormat - это плагин QtCreator'а. Он может включаться/отключаться. Попробуй его отключить.
|
Сообщ.
#3
,
|
|
|
Цитата Starostin @ Проект находится на локальном диске N: N:\MyProgramming\qtBook\QtWidgets\ Тут вот какой момент - если ты используешь QtCreator, установленный в среде MSYS2 (а не отдельно), то попробуй пользовать файловую систему, которую эмулирует MSYS2. Т.е. создай каталог ~/projects и в нем размещай свои проекты. Не знаю на сколько это решит твои проблемы, но у меня такое вот размещение не вызывало проблем со сборкой. Хотя сейчас я QtCreator использую, установленный просто инсталлятором, т.е. не средствами MSYS2. |
Сообщ.
#4
,
|
|
|
Отключить плагин не получилось, в настройках у меня нет пунктов, указанных в https://doc.qt.io/qtcreator/creator-beautifier.html и https://programmersought.com/article/4744361708/. Пришлось установить clang.
А по поводу компиляциии примера можете помочь? |
Сообщ.
#5
,
|
|
|
Цитата Starostin @ А по поводу компиляциии примера можете помочь? У меня получилось нормально откомпилировать. Но предварительно пришлось почистить проект от "мусора" - лишние файлы автосохранений. И самое главное - перед первым открытием проекта в QtCreator нужно удалить "QtWidgets.pro.user". Это позволит QtCreator'у настроить проект под настроенные в нем комплекты. Почищенный архив прикреплю. Ну и на будущее - настоятельно не рекомендую использовать редактор UI. Лучше всего интерфейс делать динамически в коде, даже если интерфейс динамически изменяться не будет. Простой пример - задаем размеры диалогового окна в UI, а пользователь берет и меняет масштабирование всего интерфейса GUI (шрифты как минимум) - многие элементы могут и начнут обрезаться. Если динамически в коде собираем интерфейс, а перед отображением окна делаем resize(0,0) - в этом случае Qt сам подберет минимальный размер окна, но так, чтобы все элементы размещались полностью. Прикреплённый файл ![]() |
Сообщ.
#6
,
|
|
|
Спасибо большое за помощь! При компиляции присланного проекта возникла ошибка:
![]() ![]() process_begin: CreateProcess(NULL, N:\msys64\mingw64\bin\lrelease.exe ..\QtWidgets\QtWidgets_en.ts -qm debug\QtWidgets_en.qm, ...) failed. make (e=2): Не удается найти указанный файл. mingw32-make[1]: *** [Makefile.Debug:108: debug/QtWidgets_en.qm] Error 2 mingw32-make: *** [Makefile:45: debug] Error 2 14:04:02: Процесс «N:\msys64\mingw64\bin\mingw32-make.exe» завершился с кодом 2. Ошибка при сборке/развёртывании проекта QtWidgets (комплект: Desktop Qt 6.6.2 (shared) MinGW-w64 MINGW64 (MSYS2)) Комплект Desktop Qt 6.6.2 (shared) MinGW-w64 MINGW64 (MSYS2) имеет недостатки в конфигурации, которые могут быть источниками данной проблемы. Во время выполнения этапа «Сборка» |
Сообщ.
#7
,
|
|
|
Ну перво-наперво, я собирал, используя Qt 5.12. Для 6-й версии не пробовал - у меня тулчейны для нее не установлены, и я пока на 6-ю версию не спешу переходить.
|
Сообщ.
#8
,
|
|
|
Понятно. Буду разбираться.
|
Сообщ.
#9
,
|
|
|
Я установил с помощью msys QT и Clang (:
![]() ![]() pacman -S mingw-w64-x86_64-clang pacman -S mingw-w64-clang-x86_64-toolchain pacman -S mingw-w64-x86_64-clang-tools-extra pacman -S mingw-w64-x86_64-gdb pacman -S mingw-w64-x86_64-cmake pacman -S mingw-w64-x86_64-make Правильно я понимаю, что clang имеет те же ключи компиляции, что gcc, только для компиляции нужно запускать clang вместо gcc/g++. |
Сообщ.
#10
,
|
|
|
Цитата Starostin @ Правильно я понимаю, что clang имеет те же ключи компиляции, что gcc, только для компиляции нужно запускать clang вместо gcc/g++. ага Добавлено Цитата Starostin @ установил с помощью msys QT и Clang (: Только установки Qt тут как-то не наблюдается. |
Сообщ.
#11
,
|
|
|
Да я установку QT не указывал:
![]() ![]() pacman -S mingw-w64-x86_64-qt6 pacman -S mingw-w64-x86_64-qt-creator mingw-w64-x86_64-qt6-base-debug |
Сообщ.
#12
,
|
|
|
Решил перейти на clang. Командами
![]() ![]() pacman -S mingw-w64-clang-x86_64-qt-creator pacman -S mingw-w64-clang-x86_64-cmake Если выбрать вместо cmake систему сборки qmake, то получаю сообщение "Cannot run compiler g++", поскольку gcc не устанавливал. У меня следующие вопросы: 1. Как в qtcreator правильно настроить конфигурацию проекта (комплекты инструментов)для систем сборки cmake и qmake? 2. Можно ли настроить проект qmake, чтобы он компилировался с помощью clang? 3. Какую систему сборки лучше использовать? Прикреплённая картинка
|
Сообщ.
#13
,
|
|
|
Могу ошибаться, но Clang является фронтэндом по отношению к GCC в данном случае. Clang представляет собой компилятор, который работает вместе с LLVM (Low Level Virtual Machine) и предоставляет большую часть инструментария для замены стека GCC. Одной из основных целей Clang является предоставление архитектуры на основе библиотек, чтобы компилятор мог взаимодействовать с другими инструментами, такими как интегрированные среды разработки (IDE). Таким образом, думаю, следует еще поставить gcc. Да, есть системы типа FreeBSD и macOS, где полностью выпилено "наследие" от GCC, добавлены стандартные заголовки и своя libc++. Но это не про MSYS2.
|
Сообщ.
#14
,
|
|
|
Сделал pacman -S mingw-w64-x86_64-toolchain, но ничего не изменилось: в конфигурации cmake незадан верный инструментарий комплекта. Как его задавать правильно?
|
Сообщ.
#15
,
|
|
|
А из этого все поставлено?
mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-cmake mingw-w64-x86_64-extra-cmake-modules |