Russian Qt Forum

Qt => Общие вопросы => Тема начата: __Heaven__ от Сентябрь 08, 2015, 15:38



Название: [РЕШЕНО] Добавление сторонней библиотеки в проект
Отправлено: __Heaven__ от Сентябрь 08, 2015, 15:38
Привет друзья!
Я работаю под windows и у меня имеется 3 компилятора: mingw32, mingw64, msvc2013.
Есть библиотека трижды скомпилированная под каждый из компиляторов.
Как теперь её правильно подключить средствами qmake чтобы ничего не порушилось даже при перемещении разработки на другую машину?


Название: Re: Добавление сторонней библиотеки в проект
Отправлено: sociopath от Сентябрь 09, 2015, 10:09
Ну, например, собранную либу yourlib раскинуть по разным каталогам (в пределах каталога с исходниками офк):
win32-msvc2013: LIBS += -L$$PWD/../libs/msvc2013 -lyourlib
win32-g++: LIBS += -L$$PWD/../libs/mingw32 -lyourlib
win32-g++-64: LIBS += -L$$PWD/../libs/mingw64 -lyourlib


Название: Re: Добавление сторонней библиотеки в проект
Отправлено: __Heaven__ от Сентябрь 09, 2015, 10:29
Да, это очевидно, но есть одно но, почему я и создал тему:
Код:
win32-msvc2013: message(win32-msvc2013)
win32-g++: message(win32-g++)
win32-g++-64: message(win32-g++-64)
При выборе mingw64 выдаётся сообщение win32-g++


Название: Re: Добавление сторонней библиотеки в проект
Отправлено: zavitaliy от Сентябрь 18, 2015, 09:44
Можно попробовать вот такой вариант:
Код:
contains(QMAKE_HOST.arch, x86_64) {
    message(x86_64)
} else {
    message(x86)
}


Название: Re: Добавление сторонней библиотеки в проект
Отправлено: __Heaven__ от Сентябрь 18, 2015, 12:08
Код:
contains(QMAKE_HOST.arch, x86_64) {
    message(x86_64)
} else {
    message(x86)
}
Спасибо. То, что нужно!
Правда, не понятно, почему этого нет в документации.


Название: Re: [РЕШЕНО] Добавление сторонней библиотеки в проект
Отправлено: __Heaven__ от Март 22, 2016, 12:47
Добавлю.
Ещё придумал тактику выносить в LibDirs.pri пути к библиотекам типа:
Код:
QWT_DIR = C:\Qwt-6.1.2
В контроль версий добавить правило игнорировать этот файл.
Таким образом можно даже безболезненно переносить свой проект с машины на машину.


Название: Re: [РЕШЕНО] Добавление сторонней библиотеки в проект
Отправлено: Racheengel от Март 22, 2016, 18:00
А еще можно создать папочку типа c:\ExtLibs и все библиотеки класть туда.
Тогда все пути к либам будут иметь вид QWT_DIR = %EXTLIBS_DIR%\Qwt-6.1.2
Это еще более переносимо)


Название: Re: [РЕШЕНО] Добавление сторонней библиотеки в проект
Отправлено: __Heaven__ от Март 22, 2016, 20:00
Ну, реализация уже подразумевалась, что у каждого пользователя своя. Вот у меня зависящая ещё и от компилятора. Хотя, если честно, такая необходимость уже отпала, использую только mingw64.