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


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> Работа с QT начинающего
    Спасибо за подробные ответы. Попробую сам найти программу для определения нужных dll. При выборе комплекта со статической линковкой при запуске программы опять требуются многочисленные dll (скриншоты прикрепил). Как правильно настроить qtcreator, чтобы создавался исполняемый файл без dll?
    Прикреплённая картинка
    Прикреплённая картинка

    Прикреплённая картинка
    Прикреплённая картинка


    Добавлено
    Задал вопрос о программе для определния нужных dll, получил ссылки (https://www.cyberforum.ru/qt/thread3164758.html#post17286537)
      Может быть нужно что-то подравить в CMakeLists.txt, чтобы была статическая компановка?
        Цитата tumanovalex @
        Может быть нужно что-то подравить в CMakeLists.txt, чтобы была статическая компановка?

        Думаю, что можно. Но это будет очень сложно. Проще вариант - использовать уже готовые к этому сборки (комплекты). Проще - это не в 1-2 раза, а в 1-2 порядка.
          Как видно на скриншоте, я выбрал при сборке выпуска именно комплект static. Вот только при запуске программы все равно требуется много dll. Что я делаю неправильно?
            Ну так по одному скрину трудно сказать что не так. Покажи настройки в этом комплекте.
              По адресу https://disk.yandex.ru/d/9AuscdCoY9hdQg разместил видео, в котором постарался показать все настройки. Какая еще нужна информация для того, чтобы все-таки разобраться, почему не происходит статической линковки? На всязки случай размещаю сообщения, которые появляются при сборке
              ExpandedWrap disabled
                [cmake] Работа N:\msys64\clang64\bin\cmake.exe -S N:/MyProgramming/qtClangCmake -B N:/MyProgramming/qtClangCmake/build/Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Debug "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_BUILD_TYPE:STRING=Debug" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=N:\MyProgramming\qtClangCmake\build\Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Debug/.qtc/package-manager/auto-setup.cmake" "-DQT_QMAKE_EXECUTABLE:FILEPATH=N:/msys64/clang64/qt6-static/bin/qmake.exe" "-DCMAKE_PREFIX_PATH:PATH=" "-DCMAKE_C_COMPILER:FILEPATH=N:/msys64/clang64/bin/clang.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=N:/msys64/clang64/bin/clang++.exe" на N:\MyProgramming\qtClangCmake\build\Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Debug.
                [cmake] -- The CXX compiler identification is Clang 18.1.4
                [cmake] -- Detecting CXX compiler ABI info
                [cmake] -- Detecting CXX compiler ABI info - done
                [cmake] -- Check for working CXX compiler: N:/msys64/clang64/bin/clang++.exe - skipped
                [cmake] -- Detecting CXX compile features
                [cmake] -- Detecting CXX compile features - done
                [cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
                [cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
                [cmake] -- Check if compiler accepts -pthread
                [cmake] -- Check if compiler accepts -pthread - yes
                [cmake] -- Found Threads: TRUE
                [cmake] -- Performing Test HAVE_STDATOMIC
                [cmake] -- Performing Test HAVE_STDATOMIC - Success
                [cmake] -- Found WrapAtomic: TRUE
                [cmake] -- Found WrapVulkanHeaders: N:/msys64/clang64/include
                [cmake] -- Configuring done (0.0s)
                [cmake] -- Generating done (0.0s)
                [cmake] -- Build files have been written to: N:/MyProgramming/qtClangCmake/build/Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Debug
                [cmake]
                [cmake] Прошло времени: 00:07.
                [cmake] Работа N:\msys64\clang64\bin\cmake.exe -S N:/MyProgramming/qtClangCmake -B N:/MyProgramming/qtClangCmake/build/Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Release "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_BUILD_TYPE:STRING=Release" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=N:\MyProgramming\qtClangCmake\build\Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Release/.qtc/package-manager/auto-setup.cmake" "-DQT_QMAKE_EXECUTABLE:FILEPATH=N:/msys64/clang64/qt6-static/bin/qmake.exe" "-DCMAKE_PREFIX_PATH:PATH=" "-DCMAKE_C_COMPILER:FILEPATH=N:/msys64/clang64/bin/clang.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=N:/msys64/clang64/bin/clang++.exe" на N:\MyProgramming\qtClangCmake\build\Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Release.
                [cmake] -- The CXX compiler identification is Clang 18.1.4
                [cmake] -- Detecting CXX compiler ABI info
                [cmake] -- Detecting CXX compiler ABI info - done
                [cmake] -- Check for working CXX compiler: N:/msys64/clang64/bin/clang++.exe - skipped
                [cmake] -- Detecting CXX compile features
                [cmake] -- Detecting CXX compile features - done
                [cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
                [cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
                [cmake] -- Check if compiler accepts -pthread
                [cmake] -- Check if compiler accepts -pthread - yes
                [cmake] -- Found Threads: TRUE
                [cmake] -- Performing Test HAVE_STDATOMIC
                [cmake] -- Performing Test HAVE_STDATOMIC - Success
                [cmake] -- Found WrapAtomic: TRUE
                [cmake] -- Found WrapVulkanHeaders: N:/msys64/clang64/include
                [cmake] -- Configuring done (0.0s)
                [cmake] -- Generating done (0.0s)
                [cmake] -- Build files have been written to: N:/MyProgramming/qtClangCmake/build/Desktop_Qt_static_MinGW_w64_CLANG64_MSYS2_qt6_sta-Release
                [cmake]
                [cmake] Прошло времени: 00:08.
              Помогите, пожалуйста, разобраться, почему у Вас получается, а у меня нет. Проект прикрепил.
              Прикреплённый файлПрикреплённый файлqtClangCmake.zip (2,33 Кбайт, скачиваний: 5)
                Цитата tumanovalex @
                Помогите, пожалуйста, разобраться, почему у Вас получается, а у меня нет. Проект прикрепил.

                Хм ... дело в том, что я не пользую cmake для сборки, а по старинке qmake. В прикрепленном проекте на всех моих комплектах получаю "Программа cmake не настроена ....". Попробую разобраться, но не сейчас. Ничего не обещаю.
                  Я и не жду обещаний, спасибо что помогаете разобраться. Попробую сделать проект с qmake. О результатах сообщу.
                    Попробовал с qmake. Получается, что рабочие комплекты только shared. Видео https://disk.yandex.ru/d/KHEvNjvvZusy-A. С cmake статически собрались конфигурации с MinGw, c Clang - опять требует dll.
                      Проверил на другом компьютере без установленных компилятора и библиотек статическую сборку MinGw. Все равно требует dll (скриншоты прикрепил). Размер скомпилированной программы - 167 кб, вряд ли при таком размере в нее включены все нужные библиотеки. Только непонятно, почему при переносе програмы с учтановленными компилятом и библиотеками на другие диски и директории программа на том же компьютере она все равно запускается. Может быть в нее встроены пути к библиотекам на данном компьютере?
                      Прикреплённая картинка
                      Прикреплённая картинка

                      Прикреплённая картинка
                      Прикреплённая картинка

                      Прикреплённая картинка
                      Прикреплённая картинка

                      Прикреплённая картинка
                      Прикреплённая картинка

                      Прикреплённая картинка
                      Прикреплённая картинка
                        По-моему, дело было в том, что я не установил qt6-static. Я думал, что они автоматом поставились, раз есть комплект static. После этого я попытался создать проект qtQmake, получил кучу сообщений о неправильных ссылках и программа не скомпилировалась. Попробую с установленным qt5-ststic.
                          Попробовал с qt5. Размер файла стал 18,5 Мб. Программа, скомпилированная с помощью qmake в статическом выпуске, запустилась без всяких сообщений на компьютере без библиотек.

                          Добавлено
                          Вот какие ошибки возникли для QT6 при установленном qt-static
                          ExpandedWrap disabled
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x190): undefined reference to `gr_make_face_with_ops'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x236): undefined reference to `gr_face_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x396): undefined reference to `gr_face_featureval_for_lang'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x3b6): undefined reference to `gr_face_find_fref'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x3ca): undefined reference to `gr_fref_set_feature_value'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x46d): undefined reference to `gr_make_seg'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x485): undefined reference to `gr_seg_n_slots'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x5c6): undefined reference to `gr_seg_first_slot'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x5ff): undefined reference to `gr_slot_before'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x60a): undefined reference to `gr_slot_after'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x614): undefined reference to `gr_slot_gid'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x689): undefined reference to `gr_slot_can_insert_before'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x6f6): undefined reference to `gr_slot_origin_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x76d): undefined reference to `gr_slot_next_in_segment'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x846): undefined reference to `gr_seg_first_slot'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x881): undefined reference to `gr_slot_advance_Y'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x89b): undefined reference to `gr_slot_next_in_segment'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x8af): undefined reference to `gr_slot_origin_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x8d2): undefined reference to `gr_slot_origin_Y'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x977): undefined reference to `gr_seg_advance_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x9d0): undefined reference to `gr_slot_origin_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xa2e): undefined reference to `gr_featureval_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xa38): undefined reference to `gr_seg_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb32): undefined reference to `gr_seg_advance_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb46): undefined reference to `gr_seg_first_slot'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb89): undefined reference to `gr_slot_advance_Y'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xba3): undefined reference to `gr_slot_origin_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xbe0): undefined reference to `gr_slot_origin_Y'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xc03): undefined reference to `gr_slot_next_in_segment'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xc3e): undefined reference to `gr_featureval_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xc61): undefined reference to `gr_featureval_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xc6b): undefined reference to `gr_seg_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xc85): undefined reference to `gr_seg_first_slot'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xc8d): undefined reference to `gr_slot_origin_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xca4): undefined reference to `gr_seg_advance_X'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xcdb): undefined reference to `gr_featureval_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xce5): undefined reference to `gr_seg_destroy'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-uniscribe.cc.obj):(.text+0x5e3): undefined reference to `ScriptFreeCache'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-uniscribe.cc.obj):(.text+0x723): undefined reference to `__imp_UuidCreate'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-uniscribe.cc.obj):(.text+0x71): undefined reference to `ScriptPlace'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-uniscribe.cc.obj):(.text+0xc8): undefined reference to `ScriptShape'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libharfbuzz.a(hb-uniscribe.cc.obj):(.text+0xdb): undefined reference to `ScriptItemize'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libfreetype.a(src_bzip2_ftbzip2.c.obj):(.text+0x6c): undefined reference to `BZ2_bzDecompressEnd'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libfreetype.a(src_bzip2_ftbzip2.c.obj):(.text+0x11d): undefined reference to `BZ2_bzDecompress'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libfreetype.a(src_bzip2_ftbzip2.c.obj):(.text+0x32a): undefined reference to `BZ2_bzDecompressEnd'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libfreetype.a(src_bzip2_ftbzip2.c.obj):(.text+0x380): undefined reference to `BZ2_bzDecompressInit'
                            :-1: ошибка: N:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libfreetype.a(src_bzip2_ftbzip2.c.obj):(.text+0x612): undefined reference to `BZ2_bzDecompressInit'
                            :-1: ошибка: collect2.exe: error: ld returned 1 exit status
                            :-1: ошибка: [Makefile.Release:74: release/qtQmake.exe] Error 1
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:
                          Страницы: (3) 1 2 [3]  все


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0510 ]   [ 22 queries used ]   [ Generated: 27.04.24, 08:47 GMT ]