проблема с qt creator`ом |
Здравствуйте, гость ( Вход | Регистрация )
проблема с qt creator`ом |
SDLM |
29.6.2009, 8:12
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 19.4.2009 Пользователь №: 694 Спасибо сказали: 0 раз(а) Репутация: 0 |
ОС WindowsXP SP3
Вот решил посмотреть что за зверь такой Qt, нашел обзорную статью http://voxel3d.strana.de/articles/mingwqtemacs.html скачал статическую сборку(qt-sdk-win-opensource-2009.03.exe), поставил. Но сразу же возникли проблемы... захожу в Qt Command Prompt, и пытаюсь скомпилить простейший проект. qmake -project // отработала сразу и нормально qmake // не хотела работать, выдавала следующее: Could not find mkspecs for your QMAKESPEC(win32-g++) after trying: C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_cre ate_more/Troll/4.5.0/qt\mkspecs Error processing project file: D:/RAM/test3/test3.pro Проблема решилась добавлением в каталог ...Qt\2009.03\qt\bin файла qt.conf с содержанием: [Paths] Prefix = D:/Programss/Qt/2009.03/qt в идеале содержание должно быть: [Paths] Prefix = Documentation = doc Headers = include Libraries = lib Binaries = bin Plugins = plugins Data = . Translations = translations Settings = . Examples = . Demos = . Судя по офф описанию этого файла http://doc.trolltech.com/4.5/qt-conf.html ну хорошо, в итого команда qmake, отработала, а вот команда make нивкакую. Посмотрел на exe-шники пакета MinGW, решил попробовать запустить mingw32-make.exe, т.е. просто команду mingw32-make, проэкт собрался, Но exe-шник проэкта запускаться из под винды не хочет, только из под консоли, т.к. при запуске используются DLL библиотеки как Qt так и MinGW, а теперь первая группа вопросов: 1. что делать с командой make, ока вообще должна работать ? в чём проблема ? 2. команда mingw32-make нормально заменяет команду make или ...? 3. что необходимо сделать что бы на выходе получился exe-шник не требующий сторонних библиотек? (Где то видел рекомендацию в файле .pro дописать CONFIG += static, не помогло) Ок. Первый проект так или иначе скомпилировал, теперь заходим в Qt Creator, опять таки создаю весьма простенький проект, но при попытке скомпилировать получаю следующее: Running build steps for project first_step... Starting: D:/Programss/Qt/2009.03/qt/bin/qmake.exe D:/RAM/test4/first_step/first_step.pro -spec C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.5.0/qt/mkspecs/win32-g++ -r Failure to read QMAKESPEC conf file c:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.5.0/qt/mkspecs/win32-g++\qmake.conf. Error processing project file: D:/RAM/test4/first_step/first_step.pro Exited with code 3. Error while building project first_step When executing build step 'QMake' пробовал искать решения данной проблемы, ничего не нашел пробовал сам пошарить по настройкам Creator`а вообще ничего похожего не нашел Ну что делать, решил применить самый тупой метод, банально создать требуемый каталог mkdir C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\qt\mkspecs\win32-g++ и скопировать туда содержимое из каталога ...\Qt\2009.03\qt\mkspecs\win32-g++\ Проблема решилась, но всё же хотелось бы узнать есть ли цивильные пути её решения ?? P.S. Собственно после выполнения всего выше описанного возникает смутное ощущение , с одной стороны судя по демкам сочетание MinGW + Qt очень много обещающее, и я весьма наслышан о том как многие разработчики хвалят Qt, но с другой стороны ... А вот нельзя было всё руками сделать ? что б конечный пользователь, что бы собрать свой первый проект, не тратил пол дня на выковыривание из инета решений каких то банальнейших проблем. Вот почему фаел qt.conf не лежал там где ему пологается ? и с Creator`ом тоже кривость ... |
|
|
SABROG |
29.6.2009, 8:45
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Тролли опять наверно забыли допатчить пути:
команда make нивкакую Не должно быть в MinGW команды make. Когда ставишь пакет MSYS там идет проверка на файлик make в директории bin, и если его там нет, то пишется по английски типа "Проверяем существования файлика make: не найдено. Так держать!". Если собирать программы из под MSYS, то там используют совершенно разные make, для MSYS make.exe, дла CMD mingw32-make. Если насильно переименовать mingw32-make в make, то программы под MSYS могут отказаться собираться. Т.ч. используй всегда строчку "mingw32-make", если ты не в MSYS. Цитата что необходимо сделать что бы на выходе получился exe-шник не требующий сторонних библиотек? Искать решение в гугле. Много статей на эту тему написано. А потом пожинать плоды подводных камней с отсутствующей системой плагинов (кстати некоторые из них физически не могут быть слинкованы статически, а значить их использовать нельзя будет) и исключений, которые необходимы тому же QtConcurrent. Сообщение отредактировал SABROG - 29.6.2009, 8:46 |
|
|
Litkevich Yuriy |
29.6.2009, 8:53
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
1. что делать с командой make, ока вообще должна работать ? в чём проблема ? make - общее название программ такого рода.2. команда mingw32-make нормально заменяет команду make или ...? сделай батник: и положи его рядом с mingw32-make.exeДля нормальной работы (и компиляции и скомпилированных программ) нужно, чтобы в переменной окружения PATH были пути к бинарям компилятора и инструментов Qt. 3. что необходимо сделать что бы на выходе получился exe-шник не требующий сторонних библиотек? пересобрать библиотеку Qt стстаически. Я рекомендую не заморачиватся с этим.
|
|
|
SDLM |
29.6.2009, 10:14
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 19.4.2009 Пользователь №: 694 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата что необходимо сделать что бы на выходе получился exe-шник не требующий сторонних библиотек? Искать решение в гугле. Много статей на эту тему написано. ... Ясно, будем ковырять... make - общее название программ такого рода. ясно, типо того и ожидал услышать Для нормальной работы (и компиляции и скомпилированных программ) нужно, чтобы в переменной окружения PATH были пути к бинарям компилятора и инструментов Qt. Да это то понятно, имелось ввиду что мне нужно скомпилировать прогу, пойти на другой комп, и там запустить её, и получается что для этого нужно в папке с exe-шником тащить еще стопку библиотек Цитата пересобрать библиотеку Qt стстаически. Я рекомендую не заморачиватся с этим. Эм ... ну в принципе направление развития ясно, но ... разве предскомпилированная(собранная Тролями и распространяемая в виде .exe файла) Qt не называется статической ? а динамическая(распространяемая исходными кодами) это соответственно когда Qt компилируется на машине конечного пользователя. Очевидно что-то путаю, поправьте меня. P.S. что-то я в упор не вижу как здесь отредактировать своё сообщение, написанное ранее |
|
|
Litkevich Yuriy |
29.6.2009, 10:27
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
еще стопку библиотек их там будет столькочто-то я в упор не вижу как здесь отредактировать своё сообщение, написанное ранее накопишь 20 полезных сообщений, появится такая возможностьQt не называется статической ? нет, динамическая.а динамическая(распространяемая исходными кодами) не имеет отношения к исходному коду.То, что ты скачал называется просто "установщик/installer". Динамическая сборка - это когда создаются dll'ки и приложение линкуется к ним во время выполнения Статическая сборка - это когда создаются lib- или a-файлы и приложение линкуется к ним во время компиляции и получается здоровенный exe'шник |
|
|
SDLM |
29.6.2009, 10:44
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 19.4.2009 Пользователь №: 694 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо за быстрый и качественный ответ!
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 9:40 |