На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> Работа с QT начинающего
    Здравствуйте!
    Начал изучать QT (Windows 10, msys2, mingw-w64-x86_64). Возникли следующие вопросы:
    1. При запуске qtcreator появляется окно (скриншот прикрепил). С помощью msys2 для Clang ничего не ставил. Как избавиться от этого окна при запуске qtcreator?
    2. При попытке скомпилировать проект из учебного курса (проект прикрепил) появляется ошибка:
    ExpandedWrap disabled
      :-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\
    Прикреплённая картинка
    Прикреплённая картинка

    Прикреплённый файлПрикреплённый файлQtWidgets.zip (15,43 Кбайт, скачиваний: 31)
      На сколько я помню, могу ошибаться, ClangFormat - это плагин QtCreator'а. Он может включаться/отключаться. Попробуй его отключить.
        Цитата Starostin @
        Проект находится на локальном диске N: N:\MyProgramming\qtBook\QtWidgets\

        Тут вот какой момент - если ты используешь QtCreator, установленный в среде MSYS2 (а не отдельно), то попробуй пользовать файловую систему, которую эмулирует MSYS2. Т.е. создай каталог ~/projects и в нем размещай свои проекты. Не знаю на сколько это решит твои проблемы, но у меня такое вот размещение не вызывало проблем со сборкой. Хотя сейчас я QtCreator использую, установленный просто инсталлятором, т.е. не средствами MSYS2.
          Отключить плагин не получилось, в настройках у меня нет пунктов, указанных в https://doc.qt.io/qtcreator/creator-beautifier.html и https://programmersought.com/article/4744361708/. Пришлось установить clang.
          А по поводу компиляциии примера можете помочь?
            Цитата Starostin @
            А по поводу компиляциии примера можете помочь?

            У меня получилось нормально откомпилировать. Но предварительно пришлось почистить проект от "мусора" - лишние файлы автосохранений. И самое главное - перед первым открытием проекта в QtCreator нужно удалить "QtWidgets.pro.user". Это позволит QtCreator'у настроить проект под настроенные в нем комплекты. Почищенный архив прикреплю.

            Ну и на будущее - настоятельно не рекомендую использовать редактор UI. Лучше всего интерфейс делать динамически в коде, даже если интерфейс динамически изменяться не будет. Простой пример - задаем размеры диалогового окна в UI, а пользователь берет и меняет масштабирование всего интерфейса GUI (шрифты как минимум) - многие элементы могут и начнут обрезаться. Если динамически в коде собираем интерфейс, а перед отображением окна делаем resize(0,0) - в этом случае Qt сам подберет минимальный размер окна, но так, чтобы все элементы размещались полностью.
            Прикреплённый файлПрикреплённый файлQtWidgets.7z (3,04 Кбайт, скачиваний: 20)
              Спасибо большое за помощь! При компиляции присланного проекта возникла ошибка:
              ExpandedWrap disabled
                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) имеет недостатки в конфигурации, которые могут быть источниками данной проблемы.
                Во время выполнения этапа «Сборка»
              Как я понял, ошибка связана с использованием нескольких языков в приложении, но как исправить ошибку - не знаю. Подскажите, пожалуйста, как исправить ошибку?
                Ну перво-наперво, я собирал, используя Qt 5.12. Для 6-й версии не пробовал - у меня тулчейны для нее не установлены, и я пока на 6-ю версию не спешу переходить.
                  Понятно. Буду разбираться.
                    Я установил с помощью msys QT и Clang (:
                    ExpandedWrap disabled
                      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
                    Была создана директория build-qtStudyClang-Desktop_Qt_6_6_2_shared_MinGW_w64_MINGW64_MSYS2-Debug. В названии директории нет clang.
                    Правильно я понимаю, что clang имеет те же ключи компиляции, что gcc, только для компиляции нужно запускать clang вместо gcc/g++.
                      Цитата Starostin @
                      Правильно я понимаю, что clang имеет те же ключи компиляции, что gcc, только для компиляции нужно запускать clang вместо gcc/g++.

                      ага

                      Добавлено
                      Цитата Starostin @
                      установил с помощью msys QT и Clang (:

                      Только установки Qt тут как-то не наблюдается.
                        Да я установку QT не указывал:
                        ExpandedWrap disabled
                          pacman -S mingw-w64-x86_64-qt6
                          pacman -S mingw-w64-x86_64-qt-creator
                          mingw-w64-x86_64-qt6-base-debug
                          Решил перейти на clang. Командами
                          ExpandedWrap disabled
                            pacman -S mingw-w64-clang-x86_64-qt-creator
                            pacman -S mingw-w64-clang-x86_64-cmake
                          установил qtcreator и cmake. Попытался создать в qtcreator проект с системой сборки cmake, в выборе комплектов стоит желтый треугольник с восклицательным знаком (скриншот прикрепил).
                          Если выбрать вместо cmake систему сборки qmake, то получаю сообщение "Cannot run compiler g++", поскольку gcc не устанавливал.
                          У меня следующие вопросы:
                          1. Как в qtcreator правильно настроить конфигурацию проекта (комплекты инструментов)для систем сборки cmake и qmake?
                          2. Можно ли настроить проект qmake, чтобы он компилировался с помощью clang?
                          3. Какую систему сборки лучше использовать?
                          Прикреплённая картинка
                          Прикреплённая картинка
                            Могу ошибаться, но Clang является фронтэндом по отношению к GCC в данном случае. Clang представляет собой компилятор, который работает вместе с LLVM (Low Level Virtual Machine) и предоставляет большую часть инструментария для замены стека GCC. Одной из основных целей Clang является предоставление архитектуры на основе библиотек, чтобы компилятор мог взаимодействовать с другими инструментами, такими как интегрированные среды разработки (IDE). Таким образом, думаю, следует еще поставить gcc. Да, есть системы типа FreeBSD и macOS, где полностью выпилено "наследие" от GCC, добавлены стандартные заголовки и своя libc++. Но это не про MSYS2.
                              Сделал pacman -S mingw-w64-x86_64-toolchain, но ничего не изменилось: в конфигурации cmake незадан верный инструментарий комплекта. Как его задавать правильно?
                                А из этого все поставлено?

                                mingw-w64-x86_64-gcc
                                mingw-w64-x86_64-gdb
                                mingw-w64-x86_64-cmake
                                mingw-w64-x86_64-extra-cmake-modules
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0418 ]   [ 22 queries used ]   [ Generated: 16.06.24, 21:43 GMT ]