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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 79 80 [81] 82 83 ... 96
1201  Программирование / Общий / Re: не грузится библиотека в Linux (MinGW работает) : Ноябрь 23, 2010, 19:26
как это ./ нет перед именем, если я его в отладчике вижу??

в отладчике четко видно, что

dirList[ i ].fileName() == "./libsomename.so"
1202  Программирование / Общий / Re: не грузится библиотека в Linux (MinGW работает) : Ноябрь 23, 2010, 18:56
по абсолютному маршруту заработало

ИМХО - баг имеет место быть, файл .so не открывается в текущем каталоге в Linux-версии, в Windows-версии все работает
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", что по идее не принципиально
1206  Программирование / Общий / Re: не грузится библиотека в Linux (MinGW работает) : Ноябрь 23, 2010, 17:41
"Unknown error"

обалдеть как информативно...  Грустный
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?
1208  Qt / Установка, сборка, отладка, тестирование / Re: Как класть только 1 собранную .so библиотеку в нужный каталог? : Ноябрь 23, 2010, 15:33
пробовал, это не то, мне надо или разделить библиотеку и линки, или копировать библиотеку без линков, или отключить создание линков
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));

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

в результате приходится извращаться, давать "предварительные координаты", и код все-равно получается не очевидный

красиво и легко понятно было бы, если бы можно было оперировать айтемами, не глядя на родительские отношения

может в Нокию фичериквест написать?...

1213  Qt / 2D и 3D графика / Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения? : Июль 28, 2010, 10:41
Цитировать
mapFromScene / mapToScene должны помочь

надо посмотреть, я этот метод не заметил

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

то есть, насколько я понял, возможности один раз переключить Qt на абсолютные координаты нет? ладно, будем думать...
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?
Страниц: 1 ... 79 80 [81] 82 83 ... 96

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