Russian Qt Forum
Ноябрь 01, 2024, 04:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Компилирование  (Прочитано 13228 раз)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« Ответ #15 : Декабрь 16, 2014, 20:21 »

для начинающих разницы в компиляторе нет
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
stanukih
Гость
« Ответ #16 : Декабрь 18, 2014, 19:08 »

Закинул все dll все работает. Перенес папку с программой со всеми dll и вываливается ошибка что-то вроде что qt платформа не установлена. Создал папку platforms с qwindows.dll. Разницы никакой. Закинул эту библиотеку в c:\windows и в c:\windows\system32 заработало. Как собрать статический ехе чтоб он нормально запускался на других пк? Гуглом пользоваться умею весь день пробовал то что пишут на форумах пользы 0. Какой Рабочий способ получить работающий ехе?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #17 : Декабрь 18, 2014, 19:35 »

Какой Рабочий способ получить работающий ехе?

Положить в папке с ехе все нужные ему dll.

Для qt5 нужно в папке с ехе создать папку platforms и положить в нее qwindows.dll
Остальные по нужде:
1. запускаете ехе
2. появляется ошибка
3. смотрите какой dll не хватает ехе
4. копируете нужную dll в папку с ехе
5. goto 1.
« Последнее редактирование: Декабрь 18, 2014, 19:45 от gil9red » Записан

Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Декабрь 18, 2014, 19:45 »

весь день пробовал то что пишут на форумах пользы 0. Какой Рабочий способ получить работающий ехе?
Если упорствуете (типа 1 - и только 1! exe) - продолжайте читать/пробовать (вероятно с той же пользой). Там пишут много, в том числе и на этом форуме.

А если скромнее, "папка с файлами" (но без соплей в system32 и.т.п) - то platforms в текущий (там где exe) плюс в main (до создания QApplication) сделать setLibraryPath
Записан
stanukih
Гость
« Ответ #19 : Декабрь 18, 2014, 19:54 »

Вариант с папкой очень даже устраивает. Папку platforms создал. А что надо в main прописать и куда?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #20 : Декабрь 19, 2014, 08:38 »

Папку platforms создал. А что надо в main прописать и куда?
Напр так
Код
C++ (Qt)
#if Q_OS_WIN
void SetAppPluginPath( void )
{
QStringList lst;
TCHAR name[1024];
GetModuleFileName(0, name, sizeof(name) - 1);
QFileInfo fi(name);
lst.push_back(fi.absolutePath());
QApplication::setLibraryPaths(lst);
}
#endif
 
Вызвать до создания QApplication
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #21 : Декабрь 19, 2014, 08:44 »

Напр так
Вызвать до создания QApplication
А зачем это все?
Qt без лишних телодвижений находит свои плагины и библиотеки из platforms.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #22 : Декабрь 19, 2014, 08:51 »

А зачем это все?
Qt без лишних телодвижений находит свои плагины и библиотеки из platforms.
У меня не находило пока не сделал так
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #23 : Декабрь 19, 2014, 08:55 »

А зачем это все?
Qt без лишних телодвижений находит свои плагины и библиотеки из platforms.
У меня не находило пока не сделал так
У них бывает косяк, ищет или в ./platforms или в ./plugins/platforms. по крайней мере, так с другими плугинами было. Тоже в main'е всегда выставлял QApplication::setLibraryPaths на всякий.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
stanukih
Гость
« Ответ #24 : Декабрь 19, 2014, 14:28 »

Тогда еще вопрос зависит ли где программа будет искать библиотеки от среды выполнения. Ну например у меня система с win7 на которой все и так работает и проект на работоспособность я проверяю в linux под wine. Могут ли появиться какие-то проблемы на win xp?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« Ответ #25 : Декабрь 19, 2014, 15:09 »

длл компилятора могут отсутствовать (VS runtime / mingw), лучше тоже с собой их таскать.

зависимости смотреть через тотал коммандер или dependency walker.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #26 : Декабрь 19, 2014, 15:17 »

длл компилятора могут отсутствовать (VS runtime / mingw), лучше тоже с собой их таскать.

зависимости смотреть через тотал коммандер или dependency walker.
Не просто TotalCommander, а плагин к нему FileInfo.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
stanukih
Гость
« Ответ #27 : Декабрь 19, 2014, 15:31 »

Вот тут отдельное спасибо. Вроде пока вопросов нет.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.078 секунд. Запросов: 22.