Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: radislav72 от Февраль 14, 2012, 20:23



Название: Присоединение библиотеки
Отправлено: radislav72 от Февраль 14, 2012, 20:23
Надо к проекту присоединить dll с названием QDbfd.dll
В pro- файле пишу:
Код:
LIBS += c:\Qt\Projects\tb\QDbfd.dll
и все работает.

Но хочу, чтоб не было жесткого пути. Если пишу (предполагается, что в папке проекта есть подпапка dll, в которой и лежит библиотека):
Код:
LIBS += dll/QDbfd.dll
выдает ошибку:
Код:
:-1: ошибка: dll/QDbfd.dll: No such file or directory

Как правильно прописать присоединение библиотеки, используя относительный путь? И чтоб на разных ОС не нужно было менять pro-файл?


Название: Re: Присоединение библиотеки
Отправлено: maint от Февраль 14, 2012, 20:31
например так у меня
Код:
win32 { 
    LIBS += -L"d:/lib" \
        -ladvini \
        -lmaint
unix {
    LIBS += -L"/usr/local/user/lib" \
        -ladvini \
        -lmaint
}



Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 14, 2012, 20:35
например так у меня...
Здесь ведь абсолютные пути прописаны. Меня интересуют как раз относительные, чтоб при переносе на другой комп кинуть проект в любую папку, и оно работало.


Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 14, 2012, 20:46
Может какая папка по умолчанию есть куда либы закинуть можно ?


Название: Re: Присоединение библиотеки
Отправлено: kuzulis от Февраль 14, 2012, 20:47
Поищи по форуму. Стопицот раз уже такие вопросы поднимаются.
Да и не правильно ты все делаешь. Разбирайся, вещь элементарная! :)


Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 14, 2012, 21:18
Поищи по форуму. Стопицот раз уже такие вопросы поднимаются.
Да и не правильно ты все делаешь. Разбирайся, вещь элементарная! :)
Да искал уже- выдало 5 страниц результатов, кругом абсолютные ссылки. Но должны же быть и какие-то относительные пути!

А сам не знаешь- не флуди. Знаешь-напиши строчку-две - это меньше чем ты уже удосужился набрать.


Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 14, 2012, 21:28
о, работающий вариант для относительного пути:
Код:
LIBS += $$PWD/dll/QDbfd.dll

Ну а кроссплатформенный вариант по логике должен быть:
Код:
LIBS += -L$$PWD/dll -lQDbfd

два часа гугления и експериментов помогло :)


Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 15, 2012, 11:23
Может кто знает, где хорошо описано опции/ директивы/ переменные, используемые в pro-файлах? Типа той же $$PWD?

И почему, если в pro-файле написано
Код:
FORMS += import/imp_mem.ui
то папка import находится и все ОК.
А если написать
Код:
LIBS += dll/QDbfd.dll
то папка dll не находится и ошибка?

Как знать, какие пути по умолчанию используются в каком случае?


Название: Re: Присоединение библиотеки
Отправлено: mutineer от Февраль 15, 2012, 11:34
В документации написано...
http://doc.crossplatform.ru/qt/4.7.x/qmake-manual.html


Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 15, 2012, 11:42
Спасибо за ссылку. Искать и просматривать на пригодность все что выдаст гугл- очень много времени забирает...


Название: Re: Присоединение библиотеки
Отправлено: mutineer от Февраль 15, 2012, 11:45
Спасибо за ссылку. Искать и просматривать на пригодность все что выдаст гугл- очень много времени забирает...

А доки просматривать не модно уже, пока гугл на них не выкинет?


Название: Re: Присоединение библиотеки
Отправлено: radislav72 от Февраль 15, 2012, 13:01
А доки просматривать не модно уже, пока гугл на них не выкинет?
Дело в том что доков тоже много, и часто сразу найти то что нужно не так легко. Так что- еще раз спасибо :)