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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Присоединение библиотеки  (Прочитано 6098 раз)
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-файл?
Записан
maint
Гость
« Ответ #1 : Февраль 14, 2012, 20:31 »

например так у меня
Код:
win32 { 
    LIBS += -L"d:/lib" \
        -ladvini \
        -lmaint
unix {
    LIBS += -L"/usr/local/user/lib" \
        -ladvini \
        -lmaint
}

Записан
radislav72
Гость
« Ответ #2 : Февраль 14, 2012, 20:35 »

например так у меня...
Здесь ведь абсолютные пути прописаны. Меня интересуют как раз относительные, чтоб при переносе на другой комп кинуть проект в любую папку, и оно работало.
Записан
radislav72
Гость
« Ответ #3 : Февраль 14, 2012, 20:46 »

Может какая папка по умолчанию есть куда либы закинуть можно ?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #4 : Февраль 14, 2012, 20:47 »

Поищи по форуму. Стопицот раз уже такие вопросы поднимаются.
Да и не правильно ты все делаешь. Разбирайся, вещь элементарная! Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
radislav72
Гость
« Ответ #5 : Февраль 14, 2012, 21:18 »

Поищи по форуму. Стопицот раз уже такие вопросы поднимаются.
Да и не правильно ты все делаешь. Разбирайся, вещь элементарная! Улыбающийся
Да искал уже- выдало 5 страниц результатов, кругом абсолютные ссылки. Но должны же быть и какие-то относительные пути!

А сам не знаешь- не флуди. Знаешь-напиши строчку-две - это меньше чем ты уже удосужился набрать.
Записан
radislav72
Гость
« Ответ #6 : Февраль 14, 2012, 21:28 »

о, работающий вариант для относительного пути:
Код:
LIBS += $$PWD/dll/QDbfd.dll

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

два часа гугления и експериментов помогло Улыбающийся
« Последнее редактирование: Февраль 14, 2012, 21:40 от radislav72 » Записан
radislav72
Гость
« Ответ #7 : Февраль 15, 2012, 11:23 »

Может кто знает, где хорошо описано опции/ директивы/ переменные, используемые в pro-файлах? Типа той же $$PWD?

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

Как знать, какие пути по умолчанию используются в каком случае?
Записан
mutineer
Гость
« Ответ #8 : Февраль 15, 2012, 11:34 »

В документации написано...
http://doc.crossplatform.ru/qt/4.7.x/qmake-manual.html
Записан
radislav72
Гость
« Ответ #9 : Февраль 15, 2012, 11:42 »

Спасибо за ссылку. Искать и просматривать на пригодность все что выдаст гугл- очень много времени забирает...
Записан
mutineer
Гость
« Ответ #10 : Февраль 15, 2012, 11:45 »

Спасибо за ссылку. Искать и просматривать на пригодность все что выдаст гугл- очень много времени забирает...

А доки просматривать не модно уже, пока гугл на них не выкинет?
Записан
radislav72
Гость
« Ответ #11 : Февраль 15, 2012, 13:01 »

А доки просматривать не модно уже, пока гугл на них не выкинет?
Дело в том что доков тоже много, и часто сразу найти то что нужно не так легко. Так что- еще раз спасибо Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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