Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.216.233.58] |
|
Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Спасибо за подробные ответы. Попробую сам найти программу для определения нужных dll. При выборе комплекта со статической линковкой при запуске программы опять требуются многочисленные dll (скриншоты прикрепил). Как правильно настроить qtcreator, чтобы создавался исполняемый файл без dll?
Прикреплённая картинка
Прикреплённая картинка
Добавлено Задал вопрос о программе для определния нужных dll, получил ссылки (https://www.cyberforum.ru/qt/thread3164758.html#post17286537) |
Сообщ.
#32
,
|
|
|
Может быть нужно что-то подравить в CMakeLists.txt, чтобы была статическая компановка?
|
Сообщ.
#33
,
|
|
|
Цитата tumanovalex @ Может быть нужно что-то подравить в CMakeLists.txt, чтобы была статическая компановка? Думаю, что можно. Но это будет очень сложно. Проще вариант - использовать уже готовые к этому сборки (комплекты). Проще - это не в 1-2 раза, а в 1-2 порядка. |
Сообщ.
#34
,
|
|
|
Как видно на скриншоте, я выбрал при сборке выпуска именно комплект static. Вот только при запуске программы все равно требуется много dll. Что я делаю неправильно?
|
Сообщ.
#35
,
|
|
|
Ну так по одному скрину трудно сказать что не так. Покажи настройки в этом комплекте.
|
Сообщ.
#36
,
|
|
|
По адресу https://disk.yandex.ru/d/9AuscdCoY9hdQg разместил видео, в котором постарался показать все настройки. Какая еще нужна информация для того, чтобы все-таки разобраться, почему не происходит статической линковки? На всязки случай размещаю сообщения, которые появляются при сборке
[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) |
Сообщ.
#37
,
|
|
|
Цитата tumanovalex @ Помогите, пожалуйста, разобраться, почему у Вас получается, а у меня нет. Проект прикрепил. Хм ... дело в том, что я не пользую cmake для сборки, а по старинке qmake. В прикрепленном проекте на всех моих комплектах получаю "Программа cmake не настроена ....". Попробую разобраться, но не сейчас. Ничего не обещаю. |
Сообщ.
#38
,
|
|
|
Я и не жду обещаний, спасибо что помогаете разобраться. Попробую сделать проект с qmake. О результатах сообщу.
|
Сообщ.
#39
,
|
|
|
Попробовал с qmake. Получается, что рабочие комплекты только shared. Видео https://disk.yandex.ru/d/KHEvNjvvZusy-A. С cmake статически собрались конфигурации с MinGw, c Clang - опять требует dll.
|
Сообщ.
#40
,
|
|
|
Проверил на другом компьютере без установленных компилятора и библиотек статическую сборку MinGw. Все равно требует dll (скриншоты прикрепил). Размер скомпилированной программы - 167 кб, вряд ли при таком размере в нее включены все нужные библиотеки. Только непонятно, почему при переносе програмы с учтановленными компилятом и библиотеками на другие диски и директории программа на том же компьютере она все равно запускается. Может быть в нее встроены пути к библиотекам на данном компьютере?
Прикреплённая картинка
Прикреплённая картинка
Прикреплённая картинка
Прикреплённая картинка
Прикреплённая картинка
|
Сообщ.
#41
,
|
|
|
По-моему, дело было в том, что я не установил qt6-static. Я думал, что они автоматом поставились, раз есть комплект static. После этого я попытался создать проект qtQmake, получил кучу сообщений о неправильных ссылках и программа не скомпилировалась. Попробую с установленным qt5-ststic.
|
Сообщ.
#42
,
|
|
|
Попробовал с qt5. Размер файла стал 18,5 Мб. Программа, скомпилированная с помощью qmake в статическом выпуске, запустилась без всяких сообщений на компьютере без библиотек.
Добавлено Вот какие ошибки возникли для QT6 при установленном qt-static :-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 |