Просмотр сообщений
|
Страниц: 1 ... 79 80 [81] 82 83 ... 96
|
1203
|
Программирование / Общий / Re: не грузится библиотека в Linux (MinGW работает)
|
: Ноябрь 23, 2010, 18:52
|
if( ! lib.load() ) { QFileInfo fi( dirList[ i ].fileName() ); QString eee = fi.absoluteFilePath(); continue; }
fi == "libsomename.co" eee == "/home/Documents/APP-build-desktop/libsomename.so" и приложение, и библиотека находятся в /home/Documents/APP-build-desktop это и раньше было видно, что с каталогом проблемы нет, поскольку быть не может, если библиотека заведомо открывается именно в том каталоге, где она находится попробую открыть по абсолютному маршруту, но это не есть кошерно
|
|
|
1204
|
Программирование / Общий / Re: не грузится библиотека в Linux (MinGW работает)
|
: Ноябрь 23, 2010, 18:29
|
я же код написал - открывается именно рабочий каталог, считывается его содержимое, ищутся в нем файлы с именами библиотек, и загружаются
как ни запускай - что из отладчика, что само приложение из терминала - все одинаково
тем более, в имени файла содержится ./ то есть, он должен именно из рабочего каталога браться
да и в настройке проекта QtCreator рабочий каталог для отладочного запуска именно тот, который нужен, в нем лежит библиотека
ощущение такое, что надо писать bug report...
|
|
|
1205
|
Программирование / Общий / Re: не грузится библиотека в Linux (MinGW работает)
|
: Ноябрь 23, 2010, 17:47
|
а, не, это было после конструктора, после load вот это: Cannot load library libsomename.so: (libsomename.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога) хотя такой файл находится именно в текущем каталоге, поскольку его имя получено из списка текущего каталога там, на самом деле, вот так: QDir dir( "", "", QDir::Name ); QFileInfoList dirList = dir.entryInfoList();
unsigned int i; for( i = 0; i < dirList.length() && i < MAXDLLNUMBER; i++ ) if( QLibrary::isLibrary( dirList[ i ].fileName() ) ) { QLibrary lib( dirList[ i ].fileName() ); if( ! lib.isLoaded() ) if( ! lib.load() ) return; .......
то есть, файл заведомо существует и виден в dirList в отладчике, правда как "./libsomename.so", что по идее не принципиально
|
|
|
1207
|
Программирование / Общий / не грузится библиотека в Linux (MinGW работает)
|
: Ноябрь 23, 2010, 17:22
|
проект, созданный и отлаженный в винде с помощью QtCreator/MinGW, переносится в Linux, все происходит предсказуемо и работает, кроме одного момента (в MinGW проблемы нет, все работает): приложение расширяется с помощью динамических библиотек, но не стандартных Qt-плагинов, а загрузкой библиотек, создаваемых специальным образом - так получилось исторически, поскольку библиотеки пишутся на С, а не С++, и Qt они не используют, это оптимизированные вычислительные модули код загрузки библиотеки весь не нужно приводить, только кусок, который собственно загружает и проверяет: QLibrary lib( libFileName() ); // при этом вызове libFileName() возвращает в Linux имя файла в виде: "./libsomename.so", в WinGW просто "somename.dll" if( ! lib.isLoaded() ) if( ! lib.load() ) // вроде бы конструктор должен грузить, но не грузит, это для пущей уверенности return; // здесь в Linux вылетает
библиотека собирается сразу перед сборкой основного приложения, в смежном проекте, теми же средствами, начало ее .pro выглядит так: QT -= core TARGET = somename CONFIG += shared TEMPLATE = lib что не так? почему не грузится библиотека в Linux?
|
|
|
1209
|
Qt / Установка, сборка, отладка, тестирование / Как класть только 1 собранную .so библиотеку в нужный каталог?
|
: Ноябрь 23, 2010, 15:00
|
Qt 4.7, Kubuntu 10.10
При сборке динамической библиотеки в Linux создается библиотека с суффиксом .so.1.0.0 и линки на нее - .so, .so.1, .so.1.0
Мне надо, чтобы файл библиотеки ложился не в тот каталог, где происходит сборка, и создаются линки, а в другой. И чтобы в этом каталоге создавался только он один. Либо не создавать линки вообще. Можно ли это сделать настройками qmake, без использования дополнительного скрипта для копирования этого файла? Это существенно, поскольку проект мультиплатформенный, а скрипт, по определению, привязывает к Linux. Установка DLLDESTDIR не помогает, по указанному маршруту копия библиотеки не образуется.
|
|
|
1210
|
Qt / Пользовательский интерфейс (GUI) / как гарантированно получать отображение нарисованных айтемов?
|
: Август 03, 2010, 11:18
|
несмотря на то, что пытаюсь заставить приложение отработать все события, айтемы не рисуются сразу после вызова processEvents сделал вот такой метод, чтобы видеть где находится невидимый обычно "курсор" void Center::ShowCursor() { scene->addItem( new QGraphicsRectItem( cursor.x(), cursor.y(), 3, 3 ) ); scene->update(); while( app->hasPendingEvents() ) app->processEvents(); }
если сразу за вызовом этого метода поставить точку останова, то нет никакой гарантии, будет виден квадратик, или нет, но если ее проскочить, то при следующем останове может появиться сразу 2 квадратика есть какой-нибудь еще способ помпажа событий рисования, чтобы они гарантированно рисовали на видимой сцене все на нее выложенное?
|
|
|
1211
|
Qt / 2D и 3D графика / Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения?
|
: Июль 30, 2010, 15:12
|
брррр.... надо таки еще иметь и отношения родитель-дитя, с использованием координат детей в системе координат родителей
то есть, получаются в одном приложении сочетания и абсолютных координат, и относительных, у одниих и тех же объектов, в результате довольно хреново все...
если бы можно было одним вызовом переключать Qt на работу с абсолютными или относительными коорднатами, было бы здорово
|
|
|
1212
|
Qt / 2D и 3D графика / Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения?
|
: Июль 29, 2010, 11:06
|
setPos(parentItem()->mapFromScene(pos)); хехе... предложенное решение влоб не подходит, так как получается "координатный парадокс родителей": если сначала пытаться установить координаты при помощи такого вызова, то еще не известно, кто родитель, а если пытаться установить сначала родителя, то это... невозможно сделать, поскольку не установлены координаты и родителя нельзя определить в результате приходится извращаться, давать "предварительные координаты", и код все-равно получается не очевидный красиво и легко понятно было бы, если бы можно было оперировать айтемами, не глядя на родительские отношения может в Нокию фичериквест написать?...
|
|
|
1214
|
Qt / 2D и 3D графика / QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения?
|
: Июль 28, 2010, 08:56
|
при установке отношений parent-child между объектами класса QGraphicsItem, детки размещаются в системе координат родителей
в моем случае это порождает ряд неудобств, поскольку на сцене могут быть как родители верхнего уровня, у которых система координат сцены, так и их детки, причем с точки зрения редактирования и отображения ни детки, ни родители ничем не отличаются - поэтому мне гораздо удобнее рисовать все объекты в системе координат сцены
но... очень желательно иметь родительские отношения между графическими объектами, поскольку при некоторых операциях это оказывается удобно, в частности, при подсветке (при наведении курсора на дитя, дополнительно подсвечивается и его родитель)
можно ли как-то "переключить" Qt, чтобы он стал работать с детьми в системе координат сцены, но позволял устанавливать родительские отношения средствами Qt, или нет другого варианта, кроме как эти отношения устанавливать и отслеживать мне самостоятельно? вариант с умолчательными родительскими отношениями, при которых используется метод, возвращающий координаты в сцене, не годится, код получается дурацкий, поскольку надо не только получать координаты, но и размещать объекты в сцене
если бы можно было бы размещать детей в абсолютных координатах сцены, это было бы тоже хорошо, что-нибудь типа setScenePos вместо просто setPos
|
|
|
1215
|
Qt / Общие вопросы / Re: Люди, кто делал справочную систему на qt??
|
: Июль 15, 2010, 10:50
|
возможно, но я этим ограничилась если хелп небольшой - то можно и руками у меня уже есть документация, которая просто в печатном виде 11-м кеглем занимает 160 страниц А4, и "ключевых слов" там не менее 50% по всему тексту... M$ Help Workshop все это автоматизирует - есть ли такой инструментарий для Qt?
|
|
|
|
|