![]() |
|
![]() ![]() ![]() |
|
nns2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Купил книгу по Qt, почитал немного, решил попробовать установить.
Сделал всё, как написано в книге, а именно:
Как всегда, у меня ничего не вышло: компилятор выдал такую ошибку: e:\program files\visual studio 2008\projects\c++\first_qt\first_qt\main.cpp(1) : fatal error C1083: Cannot open include file: 'QtGui': Permission denied Пожалуйста, подскажите что мне надо сделать чтобы всё заработало? |
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
В консоле заходишь в папку со своей программой и выполняешь команды
Вообще переменные окружения консоли надо настраивать прежде чем что-то компилировать. Чтож это за книга такая, где не написано как это использовать?:
А для студии надо Add-in специальный ставить или Integrator (только он коммерческий вроде). А еще Qt лучше поновее поставить, а то 4.2.2 уже несколько лет наверно, с тех пор и быстродействие программ написанных на Qt изменилось и много вкусностей добавилось ![]() Лучше ставь QtCreator для первого ознакомления. Это сообщение отредактировал(а) SABROG - 7.3.2009, 19:18 |
||||
|
|||||
nns2009 |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Насколько я понимаю в консоль "Qt 4.2.2 Command Prompt" и как зайти в папку со своей программой? Выполнил все команды, которые вы написали(кроме последней: консоль считает, что такой команды нет). Появились: 1. Makefile.Debug 2. Makefile.Release 3. Makefile 4. first_QT.pro При компиляции выдаёт ту же ошибку, что и раньше!
Какие переменные !!! ? Было смутно написано: по мнению автора, если зайти в консоль и выполнить три команды: qmake -project qmake make мы получим исполняемую программу. А что делать с вот этим(куда это вписать):
А откуда его взять? Это сообщение отредактировал(а) nns2009 - 7.3.2009, 21:28 |
||||||
|
|||||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
Наверно, с сайта создателей Qt. Гугл в руки и пошел. www.qtsoftware.com Кстати, оттуда бы неплохо и свежий Qt4.5 взять. Там же и интегратор с VS лежит. Вообще, перед тем как программировать, неплохо бы ознакомится со своей ОС хотя бы на уровне пользователя. Смотрите в настройках системы, ключевые слова environment variables Похоже на ошибку доступа к файлу. Боже, куда вы Qt упрятали - то? Переустанавливайте заново, и не в такое охраняемое место. Добавлено через 39 секунд У микрософта вроде это называется nmake |
|||
|
||||
nns2009 |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
QtCreator скачал, установил, и где он??? В корневой папке установки - пусто !!!(скрин прикреплён). Свежую версию попозже возьму, поначалу со старой разберусь хотя бы. А интегратор вроде только для коммерческой версии библиотеки. Не надо оскорблений: такие слова ~99% пользователей не знают. Посмотрел на Яндексе - переменные окружения, а как и где их настраивать ?
Qt находится в папке E:\Qt\4.2.2. Вроде как нормальное место. По прежнему ничего не компилируется(в общем ведь ничего не изменилось). Подскажите пожалуйста, что нужно для успешной компиляции, хотя бы не в Visual Studio . Кстати, для того чтобы приложения с использованием Qt запускались на стороннем компьютере, на нём нужно будет что-то устанавливать? А то если нужно, то тогда .NET Framework(WinForms) гораздо удобнее использовать чем Qt. Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
||||
|
|||||
pan2004 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
ПУСТО? Пять папок и три других файла, и вы говорите, что ПУСТО? ![]() Не говорите только мне, что не нашли экзешника. Да, он не в корневой, но разве должен быть? Смотрим здесь, называется Visual Studio Add-in Покажите еще раз, какие пути вы прописали.
Разумеется, вашу программу. С необходимыми дллками(только не спутайте релиз и дебаг версии - они разные, в тч по размеру(надеюсь, понятно, что это такое))
Не знаю, не знаю... .NET тоже требует установки на машине клиента .NET, то есть самого себя. А даже первая версия его была 20 мегабайт весом. |
||||
|
|||||
TiKKi |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: нет Всего: 2 |
Я Вам удивляюсь! Как Вы можете говорить об удобстве одного перед другим, при том, что даже Qt установить нормально не можете... |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Столько форумов по Qt существует, столько блогов и сайтов, а как его использовать найти не могут.
Посмотри официальный список крупнейших сайтов по Qt: http://www.qtsoftware.com/developer/community-resources На каждом из них можно найти как ставить Qt хоть из исходников, хоть через setup QtCreator'a, казалось бы что может быть проще. Запускать можно через "Пуск->Программы->Qt SDK by Nokia v2009.01 (open source)->QtCreator", если ничего на рабочем столе нет. |
|||
|
||||
nns2009 |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
E:\Qt\4.2.2\include E:\Qt\4.2.2\lib
Вот именно!!! Что Qt - не могу, а .NET Framework без проблем работает.
Это помогло, спасибо, только где в Qt Creator пути к библиотекам прописать? Через некоторое время ещё помучаюсь, может заработает! |
||||
|
|||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
||||
|
||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
Можно спросить, Вы в эти папки смотрели, или просто от фонаря пути прописали? Вот минимальный набор, который должен значиться в списках include headers:
Много? Поэтому и советуют использовать интеграторы или qmake, и проблем никаких не будет(не говоря уже о необходимости иногда запускать программки типа moc или uic, qmake сам все разрулит). Qt тоже без проблем работает, только руки прямые нужны. А если даже значок программы в главном меню найти не можете то... И что 99% других обычных пользователей Вин с этим тоже не справились бы? Путь к Qt библиотекам в нем прописывать не надо - все уже там прописано. Если ставили его отдельно от Qt, то посмотрите в меню tools-options-qt4 и установите там путь к вашей Qt инсталляции |
|||
|
||||
nns2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Прописал такие пути
Теперь выдаёт вот такие ошибки: ------ Build started: Project: first_QT, Configuration: Debug Win32 ------ Compiling... main.cpp Linking... main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QLabel::~QLabel(void)" (__imp_??1QLabel@@UAE@XZ) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QString::~QString(void)" (__imp_??1QString@@QAE@XZ) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QLabel::QLabel(class QString const &,class QWidget *,class QFlags<enum Qt::WindowType>)" (__imp_??0QLabel@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QString::QString(char const *)" (__imp_??0QString@@QAE@PBD@Z) referenced in function _main main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z) referenced in function _main E:\Program Files\Visual Studio 2008\Projects\C++\first_QT\Debug\first_QT.exe : fatal error LNK1120: 8 unresolved externals Build log was saved at "file://e:\Program Files\Visual Studio 2008\Projects\C++\first_QT\first_QT\Debug\BuildLog.htm" first_QT - 9 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== Если б руки кривые были то и .NET Framework не работал бы !!! Меню "Пуск" я пользуюсь крайне редко поэтому и не нашёл. А то что 99% других пользователей Windows с этим не справились бы я не говорил, я говорил, что ~99% пользователей не знают что такое переменные окружения! Я ставил его после Qt и поэтому прописал такой путь к Qt: E:\Qt\4.2.2 и такой к mingw: E:\Qt\QtCreator\mingw Теперь при компиляции выдаёт такое сообщение: Running build steps for project First... Creating gdb macros library... Configuration unchanged, skipping QMake step. Starting: E:/Qt/QtCreator/mingw/bin/mingw32-make.exe debug -w mingw32-make: Entering directory `E:/Qt/QtCreator/Projects/First' E:/Qt/QtCreator/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `E:/Qt/QtCreator/Projects/First' g++ -c -g -g -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"E:/Qt/4.2.2/include/QtCore" -I"E:/Qt/4.2.2/include/QtCore" -I"E:/Qt/4.2.2/include/QtGui" -I"E:/Qt/4.2.2/include/QtGui" -I"E:/Qt/4.2.2/include" -I"E:/Qt/4.2.2/include/ActiveQt" -I"debug" -I"." -I"..\..\..\4.2.2\mkspecs\win32-g++" -o debug\main.o main.cpp g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,windows -o "debug\First.exe" debug\main.o -L"e:\Qt\4.2.2\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 mingw32-make[1]: Leaving directory `E:/Qt/QtCreator/Projects/First' mingw32-make: Leaving directory `E:/Qt/QtCreator/Projects/First' Exited with code 0. Я тут подумал, может эту версию Qt удалить и попробовать установить более новую версию Qt вместе со всеми компонентами(QtCreator, mingw...) сразу? Это сообщение отредактировал(а) nns2009 - 9.3.2009, 21:03 |
|||
|
||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
вы слишком низкого мнения о технологиях микрософт. С .Netом и дурак сможет работать, проблема правда в том, что не кисти создают картины, а мастера... По ошибкам выдаваемым VS вполне можно понять(с некоторыми базовыми знаниями английского и знакомствой с процедурой сборки), что линкер не находит нужных связей, а значит, мы забыли указать ему какие .lib файлы надо подключать. Так сказать, пути мы прописали, а вот что нам нужно там забыли(а нужны собственно либы(скорей всего придется различать дебаг/релиз версии - у дебаг версий есть суффикс "d") к модулям QtCore & QtGui + возможно qtmain, так как имеем дело с Win, как они точно называются, можете посмотреть сами).
А вот это просто смешно. Судя по нулевому коду возврата, программа собралась успешно и теперь ее можно запускать. Только нам видете ли на кнопочку "Run" нажать лень, или посмотреть в папку проекта, чтобы понять что все готово... Возвращайтесь к .NET, Qt тоже хороший продукт, но расчитан всетаки на более квалифицированного пользователя... Это сообщение отредактировал(а) pan2004 - 9.3.2009, 23:08 |
|||
|
||||
nns2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
В папке lib, где по идее должны быть .lib файлы, у меня нет ни одного .lib файла!(скрин прикреплён.) Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
|||
|
||||
nns2009 |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Совершенно не смешно: при нажатии на кнопку Run выдаёт окно, в котором написано:
Скрин прикреплён. В папке проекта и всех вложенных подпапках нет ни одного исполняемого файла!!! Пробовал тоже самое сделать с помощью Qt 4.2.2 Command Prompt, вводя такие команды:
Исполняемый файл не появился. Может быть всё таки переустановить Qt? В Qt некоторые вещи очень удобны, поэтому я хочу научиться программировать на нём. И не надо на меня бочку катить проблема заключается только в установке. Возможно это из-за того, что на моём компьютере много вирусов сидит(даже антивирус установить не дают: его окно сразу закрывается!). Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
||||
|
|||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
Зато есть *.a файлы, теже либы, используемые компилятором minGW. Просто ваша версия Qt видать собрана для него. Пересобрать можно, используя например configure в папке Qt(запускать из консоли, вначале вызовите configure -help, узнать нужные опции для выбора MSVC в качестве платформы)
судя по вышеприведенному выводу gcc он находится в "debug\First.exe" |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Вроде как MinGW понимает и .lib файлы и может линковать .dllки без каких либо .a или .lib файлов. Типа автодетект. Но это я так, к слову.
Это сообщение отредактировал(а) SABROG - 11.3.2009, 12:45 |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Нехочется создавать новую тему поэтому отпишу сюда тем болле вопрос в тему.
Вобщем поставил Qt sdk теперь хотелось бы добавить поддержку ibase ну вот стало быть захожу в папку с куте и прописываю всё необходимое для этого а в ответ получаю
а папки такой отродясь на компе не было, че делать с этим? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
S60 ? |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
||||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Ты скачал SDK для мобильного телефона? http://ru.wikipedia.org/wiki/Nokia_Series_60
|
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Насколько я знаю нет качал отсюда http://www.qtsoftware.com/downloads/sdk-windows-cpp
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А кто тебе выдал эту ошибку, setup.exe?
|
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Яж говарю хочу статическую сборку + ibase захожу SDKDIR/qt пишу в консоли
а он ругается как выше написано |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А make confclean сделал сначала?
|
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
если консоль отвечает
значит сделал? |
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Скорее всего. Не знаю, что посоветовать. Я бы скачал исходники Qt c ftp сервера и собрал заново, а не использовал те, что идут с QtCreator'ом. Хотя есть подозрение, что QtCreator собирался с помощью MSVC и тролли могли почикать то, что относится к MinGW. Это сообщение отредактировал(а) SABROG - 11.3.2009, 14:39 |
||||
|
|||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
На странице закачки Qt SDK четко написано, что он не поддерживает компилятор VS.
Насколько я знаю единственный способ использовать его с Qt 4.5 - загрузить исходники с FTP и собрать их самому. У меня собрались на VS2005 без проблем. |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Вообщем проблема в том что все пути в куте жестко прошиты в код (зачем-то), вылечить можно попробовав кинуть qt.conf в папку с бинарниками.
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Любишь тексты ошибок ручками набивать ![]() Что-то я ступил действительно. QtCreator же под MinGW заточен. Может просто надо было переменную QTDIR прописать правильно? |
|||
|
||||
ecspertiza |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Приходится ![]() ![]() ![]()
Переменные окружения тоже прописаны
щас ошибка в конфигурации пропала, она вылечилась как посоветовал just_geek щас ошибка с make, компилятор MinGW стало быть, описание ошибки в этой теме http://forum.vingrad.ru/forum/topic-250975...tml#st_0_view_0 |
||||
|
|||||
nns2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 1.2.2009 Репутация: нет Всего: 1 |
Скачал Qt 4.5, установил на ноутбук.
Всё заработало! Даже без каких-либо компиляций библиотек. Так как у Qt Creator'а довольно хорошая подсветка синтаксиса, использование Visual C++ думаю не скоро понадобиться. Похоже проблема была в компьютере, вирусах на нём или в версии Qt(4.2.2). Только вопрос, как в Qt извлекается корень из числа? |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Хм, а каким образом извлечение корня относится к Qt ? Это же стандартная библиотечная функция компилятора. sqrt |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
В Qt есть кроссплатформенный вариант
|
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
сделал как вы сказали просто установил SDK все пути вроде прописаны ! запускаю тестовый проект и вот такая ошибка
Running build steps for project test2... Creating gdb macros library... Starting: C:/Qt/2009.01/qt/bin/qmake.exe C:/Documents and Settings/remiznik/Мои документы/project/test2/test2.pro -spec win32-g++ -r CONFIG+=debug_and_release CONFIG+=release Cannot find file: c:\Documents and Settings\remiznik\Мои документы\project\test2\test2.pro. Exited with code 2. Error while building project test2 When executing build step 'QMake' не может найти фаел test2.pro заглянул в папку там этот фаел есть ! в чом проблема тогда ? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Скорее всего в том, что в путях есть пробелы.
|
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
да проблема была в кирилице не принимал её ! но теперь возникла другая проблема как собрать проект статически ! потому что даже собирае debug пытаясь просто exe запустить выдаёт ошибку такого вида Приложение не удалось запустить так как не найден mingwm10.dll . а как настроить статическую сборку я незнаю ! может кто подскажет ? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Пересобирать исходники qt надо с ключем -static.
|
|||
|
||||
just_geek |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Чтобы у программ не было зависимостей от mingwm10.dll
C wiki.qtcentre.org |
||||||
|
|||||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
ведь можно использовать QT только установив SDK ! а для статики значит нужно всё пере собирать (
просто у меня почемуто виснет на сборке и не дособирает все бибилиотеки до конца ( just_geek, а пересобирать после этого надо ? Это сообщение отредактировал(а) Remiznik - 14.3.2009, 15:58 |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Надо. Если любишь использовать исключения в своих программах, то mingwm10.dll твой друг. На самом деле никогда не знаешь, когда они могут понадобится, особенно, когда начинаешь линковать сторонние библиотеки... Вообще вот на русском: http://www.prog.org.ru/wiki/index.php?titl...5%D0%B9_(MinGW) Чтобы от mingwm10 избавиться надо еще ключик -no-exceptions в configure добавить. Это сообщение отредактировал(а) SABROG - 14.3.2009, 16:08 |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
не я к тому что я исправил make.conf теперь надо пересобрать все библиотеки QT ?
|
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Естественно. И 2 ключа не забудь -static и -no-exceptions в configure передать. На самом деле тебе не обязательно править файл qmake.conf, достаточно прописать в .pro файле это:
Просто это придется прописывать для каждой твоей программы. И это не избавляет от пересборки Qt. Это сообщение отредактировал(а) SABROG - 14.3.2009, 16:12 |
||||
|
|||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
C ключом -no-exceptions модуль QtXmlPatterns тогда не скомпилится. Хотя другие модули получаться, чуток меньше по размеру.
И как -no-exceptions влияет на зависимость от mingwm10.dll ? Т.е. не пойму почему не получится использовать исключения если статически компилировать. Да и тут же советуешь убрать поддержку исключений в Qt. Это сообщение отредактировал(а) just_geek - 14.3.2009, 16:17 |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Я не советую. Я вообще против статической сборки. Лучше installer сделать.
mingwm10 это threads и exceptions. Неужели можно просто отредактировать qmake.conf слинковать статически Qt без пересборки и зависимости от mingwm10? |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Вообще mingw10 нужна для поддержки эксепшенов в тредах. И часто ли вообще используются эксепшены в С++ и тем более кидаются ли они в тредах?
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А какой смысл отказываться от этой возможности ради эстетического удовольствия отсутствия этой dll'ки в папке с exe'шником? Думаешь твоему пользователю программы будет не все-равно какие dll ты таскаешь с программой? Его скорее будет интересовать функциональность, стабильность и скорость программы. Когда я качаю DVD образ фильма я не думаю о его размере, я думаю о качестве изображения и звука. |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
ешо вопросик по сборке !
уже день собираю Qt .... уже запарился немного ! судя по логам собираеться много ерунды типа exempels ! и предпологаю много не нужных библиотек как бы всё это под чистить потому что планирую пересобрать а тратить ешо день на сборку както влом ! может кто подскажет что нужно удалить что не так важно чтоб сабралось побыстрее ? |
|||
|
||||
pan2004 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
в корне есть интересный файлик, projects.pro. В первых строках в нем определяется переменная QT_BUILD_PARTS. Ее можно попробовать изменить, например убрать examples&demos (естественно потом перезапустить qmake в этой директории + make)
|
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
да нафига что-то редактировать. я обычно собираю так
nmake (или mingw32-make) sub-src && nmake sub-tools |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
что даёт параметар sub-src ?
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Сделал проверку. Если отредактировать файл qmake.conf добавив туда статик, то всё собирается нормально:
При этом исполнимый файл остается точно таким же как и с shared и точно также требует dll'ки. БЕЗ ПЕРЕСБОРКИ QT - СТАТИЧЕСКАЯ ЛИНКОВКА НЕВОЗМОЖНА!, т.к. .lib/.a файлы разные для разных типов сборок. Это сообщение отредактировал(а) SABROG - 15.3.2009, 01:02 |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Это не параметр, а цель для сборки.
nmake sub-src - собираются только кутэшные модули nmake sub-tools - собираются утилиты а просто nmake собирает все вплоть до примеров и демок, которые впринципе и не нужны ![]() SABROG Да я с тупил когда это писал. Если ты не заметил, я тот пост почти сразу отредактировал. Это сообщение отредактировал(а) just_geek - 15.3.2009, 01:06 |
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А я так
Естественно еще дофига ключей потом... |
||||
|
|||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Твой вариант удобнее согласен да и мейкфайлы похоже лишние не генерируются
![]() |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
SABROG, не сочти за наглость ... но не мог бы ты выписать все ключи ? а то у меня пока с этим туго .... а собрать хотелось бы по минемому но не потерять нужное )
|
|||
|
||||
SABROG |
|
||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Кстати для MSYS'шного make я фишку подцепил в qtcentre, чтобы увеличить скорость сборки. Надо переменную окружения выставить:
j - jobs, 2 - количество ядер процессора. По сути make создает второй джоб make и они собираются паралельно. Могу сказать, что при двойке у меня система очень сильно загружается. А если цифру вообще не ставить, то количество джобов будет бесконечным. У меня это привело к ошибкам и тотальному зависону системы. Все-таки оператива жрется и так нормально одним процессом, а если их сотни, то сам Бог велел на резет нажать, т.к. даже мышка зависает, а винт усердно трещит ![]() Добавлено @ 01:21
У меня скрипт готов для таких целей специальный:
А собираю я в MSYS. Прошу обратить внимание на phonon и насильное отключение стилей. Стили я не использую, а фонон собирается под MinGW только после некоторых плясок с бубном, поэтому если их проводить не планируется, то лучше убрать эти ключи. Это сообщение отредактировал(а) SABROG - 15.3.2009, 01:22 |
||||||
|
|||||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Хм, а почему если ты отключаешь стили ХП и Висты, но не отключаешь motif & cde? Они ж страшные
![]() Я еще такие добавляю
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Потому, что на Win2k тогда Qt не собирается. А почему Accessibility отключаеш, не хочешь, чтобы люди с ограниченными возможностями использовали твою программу ![]() Это сообщение отредактировал(а) SABROG - 15.3.2009, 01:58 |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Не хочу. Вот такой я ленивый злодей :(
Интересно. Баг или фича? ![]() |
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Смотрю там плюсики стоят напротив, т.е. сейчас автодетект должен работать. Правда баг был еще год назад, может уже исправили, хз. |
||||
|
|||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Плюсики? У меня звездочки
![]()
в файле qfeatures.h то компиляция не пройдет. Ну и таких примеров много по тем же дефайнам. Просто пытался облегчить дллки Qt по максимуму обрезав не нужный для проекта функционал. Но забил после нескольких не удачных сборок ![]() |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
У тебя наверно другая версия Qt ![]()
|
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
нечего не понимаю (
собрал сегодня таким оброзом configure -static -no-exceptions mingw32-make sub-src до это удалил папку demo и exempels ! собралось вроде всё нармально ! потом запустил QT creater там статической сборки не появилось но я пересобрал debug но вроде получилась статическая сборка ! но размер файла меня убил 74 метра это ужас какойто ! причом до этого я ставил QT 4.4.3 на mvs08 так же статически приложение весит 10 метров ! в чом дело что не так сделал ? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Потому, что debug. Ты release собирай.
|
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
да получилось ) 7,4 метра .... меньше даже чем в msv08 = )
|
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
хочу переустановить QT запускаю консоль с дефолтовым компеляторм установленым из SDK подскажите как сменить компилятор скачал полную версию mingw ? как задать путь к нему ?
|
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
посмотри в
|
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
установил Qt из SDK потом пересобрал таким оброзом
configure -static -no-exceptions mingw32-make sub-src всё работало нармально пока не понятно по чему компилятор не стал глючить и уходить на бесконечный цикл само запуска выдавая такие сообшения
решил пере собрать всё занов .... сконфигуировал но как запустил сборку таже штука уходит на бесконечный цикл ! решил после это го решить проблему координально снёс SDK и установил зановоа .... после этого не сразу запустил проверить работу и получилось что компилятор опятьже уходить на бесконечность в чом дело может быть ? |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
что-то я совсем нечего не понимаю !
переустановил систему поставил Qt из SDK нечего не менял не настраивал ... создаю пустой тестовый проект запускаю и таже ерунда компилятор циклит !! причом до этого на этом же компьюторе с этойже системо и этой же SDK всё работало нармально ! может ктонибуть подскажет чо делать ? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |