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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 80 81 [82] 83 84 ... 96
1216  Qt / Общие вопросы / Re: Люди, кто делал справочную систему на qt?? : Июль 15, 2010, 09:59
Цитировать
я более подробно написала, см выше

и каким инструментарием это создается? не руками же это все писать, особенно .qhp, те же keywords в нормальном случае вообще должны автоматом генериться из текста
1217  Qt / Общие вопросы / Re: Люди, кто делал справочную систему на qt?? : Июль 14, 2010, 16:52
Цитировать
сначала создаешь файл *.qhp, в формате XML, потом процессом qhelpgenerator генерируется файл *.qch, потом создаешь файл *.qhcp в формате XML и процессом qcollectiongenerator генеришь файл .qhс, он используется процессом assistant

спасибо конечно, но подробным мануалом это назвать трудно...  Смеющийся
1218  Qt / Общие вопросы / Re: Люди, кто делал справочную систему на qt?? : Июль 14, 2010, 14:33
присоединяюсь к вопросу

делать еще много надо, а экспериментировать с хелпом нет времени, нужен подробный мануал, но Шлее класс QHelp проигнорировал
1219  Qt / Общие вопросы / Re: static приложение не собирается, не простейшая ситуация : Июль 14, 2010, 13:00
перенес 1 файл из проекта библиотеки в проект основного приложения - тот самый, в котором класс с неудовлетворенными ссылками - все собралось, все работает, приложение получилось статическим, нужен только mingwm10.dll из-за использования исключений

смотрю на настройки обоих проектов - они одинаковы...  Непонимающий
1220  Qt / Общие вопросы / Re: static приложение не собирается, не простейшая ситуация : Июль 14, 2010, 11:58
не... тут что-то другое, переименовывал библиотеки, добавляя суффикс 4 - перестает находить другие методы других классов по ссылке из основного приложения

что не так при сборке моей библиотеки?
1221  Qt / Общие вопросы / static приложение не собирается, не простейшая ситуация : Июль 14, 2010, 11:28
структура проекта такая:
- собирается статическая библиотека .a, которая преимущественно состоит из кода на С, но имеет некоторый код на С++, и один класс, использующий классы Qt для работы с динамическими библиотеками
- собирается основное приложение, которое линкуется с предыдущей библиотекой, оно вовсю использует Qt
- собирается динамическая библиотека, которая при ее наличии в каталоге приложения опознается и загружается основным приложением (при помощи того самого класса, который в статической библиотеке), либо не загружается, если отсутствует, подобных библиотек может быть много (типа плагины но в собственном формате)

все это в варианте с shared Qt на ура собирается и замечательно работает

теперь надо собрать статический вариант, при этом допускается включение небольших библиотек в комплект, то есть, mingwm10.dll можно положить рядом, значит можно не отключать обработку исключений

статический Qt был собран следующим образом:
- дистрибутив установлен в отдельный каталог параллельно с базовой shared версией в каталог c:/Qt/2009.03.static
- в нем выполнены configure -static -debug-and-release -no-webkit -no-qt3support и mingw32-make sub-src (ключ -no-exceptions опущен, поскольку приложение вовсю использует исключения)
- не редактировал mkspecs как рекомендуется, поскольку где-то прочел, что для самих библиотек Qt это не нужно, а при сборке приложений ключ можно добавить в проект

после сборки статического Qt образовались библиотеки с похожими именами на готовые, но без индекса 4 в конце имени, и в разы больше shared, как и должно быть (только с именами не понятно, так ли должно быть):

Цитировать
14.07.2010  10:30         4 311 604 libQtCore.a
22.06.2009  16:41         2 294 384 libQtCore4.a
14.07.2010  10:28       114 143 474 libQtCored.a
22.06.2009  16:41         2 624 084 libQtCored4.a



проверено, что после установки и сборки статической версии Qt динамическая версия приложения по-прежнему нормально собирается и работает

но при попытке собрать статическую версию, собирается только библиотека .a, а сборка приложения на этапе компоновки валится с сообщениями о неудовлетворенных ссылках в этой библиотеке, ссылки на методы классов Qt такого вида

Цитировать
../dlloading.cpp:18: undefined reference to `_imp___ZN4QDirC1ERK7QStringS2_6QFlagsINS_8SortFlagEES3_INS_6FilterEE'

и

Цитировать
c:/Qt/2009.03/qt/include/QtCore/../../src/corelib/tools/qlist.h:(.text$_ZN5QListI9QFileInfoEixEi[QList<QFileInfo>::operator[]:-1: error: undefined reference to `_imp___Z11qt_assert_xPKcS0_S0_i'

как видно, ссылки в библиотеке почему-то идут на shared версию, хотя в проекте везде понаписано static, причем в Настройках запуска для QTDIR тоже указано C:/Qt/2009.03.static/qt

я даже понаписал таких ключей
Цитировать
CONFIG += staticlib \
   static
QMAKE_LFLAGS += -static \
   -LC:/Qt/2009.03.static/qt/lib

пытался в системе заменить переменную QTDIR на C:/Qt/2009.03.static/qt - не помогает, библиотека все равно собирается со ссылками на shared версию

где еще это настраивать??? что надо сделать, чтобы библиотекарь при сборке статической библиотеки компоновал ее с библиотеками в static каталоге? а может дело в чем-то другом?

1222  Qt / Qt-инструментарий / Re: сборки Qt для static и shared компоновки конфликтуют : Июль 14, 2010, 10:52
некогда было разбираться где что поломалось, снес сгенерированную static версию Qt под корешок, а shared версию переустановил заново прямо поверх имевшейся - проекты в shared варианте стали собираться

после чего установил параллельно снова отдельную версию Qt в каталог с суффиксом static и в нем сделал configure но уже без ключа -no-exceptions, сделал make, библиотеки собрались, проверил, что после этого shared варианты приложения тоже собираются

нельзя назвать это "решением", хотя вроде должно работать, но лезет другой косяк, отпишу в нем в более тематичном разделе
1223  Qt / Qt-инструментарий / Re: сборки Qt для static и shared компоновки конфликтуют : Июль 13, 2010, 17:57
ну я имел в виду, что при статической сборки с ней исключения нельзя использовать, они не работают, поэтому рекомендуют везде ключ -no-exceptions

однако эти факты мне ничего не дают - похоже придется переставлять Qt и генерить static заново, но с исключениями, если вообще это будет работать
1224  Qt / Qt-инструментарий / Re: сборки Qt для static и shared компоновки конфликтуют : Июль 13, 2010, 15:25
что именно путанно?

везде написанно, что для статической сборки нельзя использовать исключения, поскольку они не работают в mingwm10.dll и Qt надо собирать с соответствующим ключом - я так и сделал

проект у меня состоит из нескольких подпроектов, в одном из них (да и в других тоже, на самом деле) активно используются исключения, я попытался этот проект собрать в Release в том варианте, где он ранее нормально собирался в Debug - получил сообщение об ошибке

где именно в креаторе разрешить исключения для проекта - я не вижу, вижу только ключ -fno-exceptions в Makefile.release, но его убирать нет смысла, поскольку при полной сборке этот файл генерится заново

я не могу сейчас понять, откуда в Makefile попадает ключ -fno-exceptions если ветка shared дистрибутива Qt не изменялась, этот ключ должен быть только в ветке static
1225  Qt / Qt-инструментарий / сборки Qt для static и shared компоновки конфликтуют : Июль 13, 2010, 14:41
проект собирался динамически, ветку Qt для него не трогал, установил параллельно еще одну ветку той же версии Qt, добавил ей в название static, сгенерил в ней статические библиотеки

НО! при запуске qtcreator из каталога ветки (где библиотеки и конфигурационные файлы для shared) и попытке собрать стороннюю часть проекта получаю сообщение об ошибке на
Код:
	throw errorcode;

хотя собираю код, который не использует mingwm10.dll то есть, может использовать исключения

получилось, что полетели настройки ветки, предназначенной для динамической сборки - как это произошло, если я ставил и конфигурировал статический Qt параллельно?? разве только маршруты

смотрю в маршруты - там все нормально осталось, QTDIR и переменные в PATH указывают на ветку для динамической сборки

где собака порылась, и как теперь получить возможность динамической или статической сборок?

кстати, попутно вопрос - а так ли обязательно -no-exceptions для статической сборки, и нельзя ли собрать проект статически только с библиотеками Qt, а для работы исключений класть вместе с exe библиотеку mingwm10.dll? она крохотная, и все равно продукт из нескольких файлов состоит, и LGPL лицензия вроде позволяет

дело то в том, что и в основной части проекта исключения вовсю используются, без них никак...
1226  Qt / Qt-инструментарий / Re: спотыкается на WebCore сборка Qt static : Июль 13, 2010, 14:27
ключ помог просто у configure
1227  Qt / Qt-инструментарий / спотыкается на WebCore сборка Qt static (решено) : Июль 13, 2010, 10:59
пытаюсь собрать Qt для статической сборки, для этого установил ту же версию Qt, с которой работаю динамически, в каталог 2009.03.static, сделал нужный configure -static -release -no-exceptions, запустил mingw32-make sub-src - основная часть Qt собралась, но спотыкается на 3dparty/webkit/WebCore - нет файла с ключами @tmp\moc\release_static\mocinclude.tmp - хотя для shared такой файл есть, и еще какие-то moc_....cpp файлы валяются в tmp\moc\release_shared

Код:
 Содержимое папки C:\Qt\2009.03.static\qt\src\3rdparty\webkit\WebCore\tmp\moc\release_shared

22.06.2009  17:11             2 743 InspectorClientQt.moc
22.06.2009  17:17             2 240 MainThreadQt.moc
22.06.2009  17:04            12 512 mocinclude.tmp
22.06.2009  17:11             4 357 moc_FrameLoaderClientQt.cpp
22.06.2009  17:17             2 359 moc_MenuEventProxy.cpp
22.06.2009  17:11             4 104 moc_QNetworkReplyHandler.cpp
22.06.2009  17:17             6 106 moc_qwebframe.cpp
22.06.2009  17:17             2 028 moc_qwebhistoryinterface.cpp
22.06.2009  17:11            17 904 moc_qwebpage.cpp
22.06.2009  17:17             1 986 moc_qwebpluginfactory.cpp
22.06.2009  17:17             2 281 moc_QWebPopup.cpp
22.06.2009  17:17             7 161 moc_qwebview.cpp

посмотрел в этот mocinclude.tmp, в нем ключи с маршрутами в каталоги для инклюдов, которых у меня нет, наверняка и shared у меня бы не собрался

взял и скопировал содержимое release_shared в release_static - при попытке сборки этого же WebCore льется водопад сообщений об ошибках компоновщика, он не находит точки входа в new и delete у самых разнообразных классов из libQtCore.a

не то, чтобы мне WebCore был срочно нужен, я могу без него обойтись пока, но не ясно, как его корректно исключить из генерации статической версии

и тем более не ясно, как потом корректно включить, если он понадобится

help, в общем...
1228  Qt / Общие вопросы / Re: Помогите пожалуйста наладить перехват stdout консольного приложения. : Июль 02, 2010, 19:22
код, отвечающий за перехват - это не мой код, это ваш код...
1229  Qt / Общие вопросы / Re: QString в char* : Июль 02, 2010, 15:51
Цитировать
Я правда пока не понял, почему он на передваемый char* ругался

там несколько бредовых моментов было, из-за ненужного использования QByteArray


1230  Qt / Общие вопросы / Re: QString в char* : Июль 02, 2010, 15:12
Код:
extern openFile( char* fileName );
...
QString qstrFileName = m_ui->lineFName->text();
...
openFile( qstrFileName.toLocal8Bit().data() );

так понятно?

то есть, преобразовывать из QString в char* в самый последний момент, не таскать везде указатель char*
Страниц: 1 ... 80 81 [82] 83 84 ... 96

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