Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2025, 17:36   #1
magnuz
Пользователь
 
Регистрация: 07.08.2012
Сообщений: 41
По умолчанию Как собрать для запуска непосредственно на винде.

https://github.com/rlf89/Glade-example

MSYS2 поставил туда что надо и cmake юзаю оттуда, файлы собирается, но собранный экзешник запускается только через консольку msys. Если пробовать запускать просто из проводника будет орать - нет той дллки, нет этой. Как сделать так чтобы нормально запускался через проводник? Если статик линк делать орет ошибки. То есть нужно как-то знать весь список либ и чтоб они рядом с екзешником ставились и чтоб экзешник оттуда брал, а не из мсисовских дир.
magnuz вне форума Ответить с цитированием
Старый 05.07.2025, 18:07   #2
magnuz
Пользователь
 
Регистрация: 07.08.2012
Сообщений: 41
По умолчанию

Может стоит брать не мсисовский cmake а простой виндовский, но где тогда брать ли бы?
magnuz вне форума Ответить с цитированием
Старый 06.07.2025, 16:19   #3
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 209
По умолчанию

Здесь объясняется https://thegameratort.github.io/gtkmm_tutorial.html

Там в конце: "Deploying the application: Navigate to <path to msys64>\mingw64\bin and copy the required DLLs to the executable directory."

executable directory - это имеется ввиду папка с вашей программой. Не все dll ки копировать, а только какие нужно
DeepFlake вне форума Ответить с цитированием
Старый 06.07.2025, 17:13   #4
magnuz
Пользователь
 
Регистрация: 07.08.2012
Сообщений: 41
По умолчанию

Цитата:
Сообщение от DeepFlake Посмотреть сообщение
Здесь объясняется https://thegameratort.github.io/gtkmm_tutorial.html

Там в конце: "Deploying the application: Navigate to <path to msys64>\mingw64\bin and copy the required DLLs to the executable directory."

executable directory - это имеется ввиду папка с вашей программой. Не все dll ки копировать, а только какие нужно
А как получить полный список тех, которые нужно? Не только же gtkmm и пр нужно.
magnuz вне форума Ответить с цитированием
Старый Вчера, 14:39   #5
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 209
По умолчанию

ntldd показывает какие dll загружает программа. В каталоге msys2 пакет называется mingw-w64-x86_64-ntldd .
Устанавливается как обычно, в терминале msys2 командой
Код:
pacman -S mingw-w64-x86_64-ntldd
Запускается тоже в терминале msys2
Код:
ntldd vashaprogramma.exe
Надо иметь ввиду, что покажут все необходимые dll, в том числе системные. Системные копировать в папку со своей программой не надо, а только те, которые в <path to msys64>\mingw64\bin

Ещё для просмотра списка загружаемых dll есть программа objdump. Если вы установили в msys2 пакет с GCC, то objdump, скорее всего, тоже установится.

Ещё есть майкрософтская утилита как objdump но в составе Visual Studio.
DeepFlake вне форума Ответить с цитированием
Старый Сегодня, 09:19   #6
magnuz
Пользователь
 
Регистрация: 07.08.2012
Сообщений: 41
По умолчанию

Цитата:
Сообщение от DeepFlake Посмотреть сообщение
ntldd показывает какие dll загружает программа. В каталоге msys2 пакет называется mingw-w64-x86_64-ntldd .
Устанавливается как обычно, в терминале msys2 командой
Код:
pacman -S mingw-w64-x86_64-ntldd
Запускается тоже в терминале msys2
Код:
ntldd vashaprogramma.exe
Надо иметь ввиду, что покажут все необходимые dll, в том числе системные. Системные копировать в папку со своей программой не надо, а только те, которые в <path to msys64>\mingw64\bin

Ещё для просмотра списка загружаемых dll есть программа objdump. Если вы установили в msys2 пакет с GCC, то objdump, скорее всего, тоже установится.

Ещё есть майкрософтская утилита как objdump но в составе Visual Studio.
Да, вот пытаюсь в cmake сделать скрипт чтоб список несистемных длл-ек получить и потом их копировать к екзешнику
magnuz вне форума Ответить с цитированием
Старый Сегодня, 10:56   #7
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 209
По умолчанию

Наверное это лучше делать не через cmake, а в инсталляторе innosetup, когда создаётся установочный образ. Для него можно писать сценарии на паскале,
DeepFlake вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить текст из слов - собрать предложения определённой длины( в пикселях). Все данные есть. Нужна помощь собрать текст Ureech JavaScript, Ajax 4 26.01.2023 15:40
Нижний индекс (непосредственно под символом) randombot123 Microsoft Office Word 2 25.12.2016 20:54
Стереть параметры запуска после запуска Anton911 Общие вопросы Delphi 18 14.04.2013 15:17
чтение непосредственно из .RES файла Volkogriz Общие вопросы Delphi 6 16.02.2013 20:21
можно ли осуществлять вывод непосредственно на экран? Артэс Общие вопросы C/C++ 8 21.05.2010 20:08