![]() |
|
![]() ![]() ![]() |
|
RobinHoodPHD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 12.8.2007 Где: Русь Репутация: 1 Всего: 2 |
Доброго времени суток, уважаемые форумчане!
Хочу статически собрать проект, чтобы не таскать за прогой dll-ки. Использую Qt Creator 2.0 и Qt 4.6.3. Чтобы настроить Qt ввожу в консоли команду: configure.exe -static -release -no-qt3support -no-exceptions -platform win32-g++ Все как описано в мане, однако configure мне выдает в конце: ...много текста... Creating qmake... execute: File or path is not found (mingw32-make) execute: File or path is not found (mingw32-make) Cleaning qmake failed, return code -1 Вот наш полный диалог с утилитой configure:
Как бы мне от этого избавиться? Может нужно добавить какие-то переменные среды? В данный момент для Qt я добавил: QTDIR , MINGWDIR , MAKESPEC и в Path добавил ;%QTDIR%\bin;%MINGWDIR%\bin; |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 5 Всего: 39 |
>в Path добавил ;%QTDIR%\bin;%MINGWDIR%\bin;
Судя по логу в PATH-е нет пути до mingw, и, как я понимаю, именно его конфигуратору и не удается найти. Добавьте его явным образом C:\bin\mingw\ или где там он у вас установлен. ЗЫ. Если за последнее время ничего не изменилось, бесплатную версию Qt запрещается линковать статически со своим софтом. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Нет, не запрещается. Только если софт тоже будет распространяться под LGPL или GPL. RobinHoodPHD, возможно, ты mingw32-make не установил, так как по умолчанию галка в инсталляторе с него снята. |
|||
|
||||
RobinHoodPHD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 12.8.2007 Где: Русь Репутация: 1 Всего: 2 |
djamshud, bsa, спасибо, вроде собралось.
Теперь проблема со сборкой проекта в самом Qt Creator'е: Выдает две загадочные ошибки: (скриншот окна прикреплен) :: error: cannot find -lQtGuid :: error: collect2: ld returned 1 exit status Сначала думал что это из за того, что я плагины не подключил (т.к. в приложении использовал jpeg и ico изображения). Но не собирается даже простейшее графическое приложение с пустой формой... Подскажите пожалуйста, чем вызвано сие непотребство? Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
RobinHoodPHD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 12.8.2007 Где: Русь Репутация: 1 Всего: 2 |
Покурив интернет пришел к выводу, что может быть еще полезно дополнительно сообщить, что Qt я пересобирал с параметром -release и в файл .pro проекта добавил строку CONFIG += static (хотя эта строка никакого эффекта и не дала...)
Обе ошибки :: error: cannot find -lQtGuid :: error: collect2: ld returned 1 exit status выводятся в режиме сборки "Отладка" При сборке "Релиз" только :: error: collect2: ld returned 1 exit status В папке %QTDIR%/lib есть библиотеки: libQtGui.a, libQtGui4.a , libQtGuid4.a Добавлено через 9 минут и 3 секунды Кажется нашел ответ: Если вдруг после перекомпиляции Qt вы при сборке проекта получаете примерно такую ошибку: D:\Qt\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lQtGuid collect2: ld returned 1 exit status значит что-то не докомпилировалось. Ещё такое бывает, если при перекомпиляции Qt в configure установить ключ "-release", а компилировать проект в debug, или наоборот. Бегу перекомпилировать....;) |
|||
|
||||
RobinHoodPHD |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 12.8.2007 Где: Русь Репутация: 1 Всего: 2 |
Нашел проблему - утилита mingw32-make завершается с ошибкой:
Может быть есть идеи насчет того, как это исправить? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
RobinHoodPHD, если ты Qt собрал с опцией -release, то и в настройках компилируемого проекта должен ставить release. По умолчанию стоит debug, вот и ругается. Думаю, нет никакого смысла делать статичную дебаговую версию - линкуется долго очень, да и объемы невпупительные. Поэтому, дебаговый профиль настрой на динамическую Qt, а релизный на статическую.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |