Russian Qt Forum

Qt => Общие вопросы => Тема начата: kuzulis от Апрель 15, 2010, 12:33



Название: использование qmake для поиска системных хейдеров и библиотек
Отправлено: kuzulis от Апрель 15, 2010, 12:33
Доброго времени суток!

Я тут озадачился таким вопросом: можно ли использовать qmake для поиска нужных заголовочных файлов или библиотек в процессе генерации Makefile?

Речь идет о работе в *.nix осях.

К примеру у меня в коде *.cpp такое:
Код:
...
#if defined (MACROS_1)
#   include <header1.h>
#   include <header2.h>
#elif defined (MACROS_2)
#   include <header3.h>
#   include <header4.h>
#else
#   include <header5.h>
#   include <header6.h>
#endif
...

в тоже время для того, чтобы был определен макрос MACROS_1 необходимы обязательные следующие условия:
1. наличие в системе заголовочного файла header1.h и header2.h
2. наличие в системе шаред библиотеки library_1.so

в тоже время для того, чтобы был определен макрос MACROS_2 необходимы обязательные следующие условия:
1. наличие в системе заголовочного файла header3.h и header4.h
2. наличие в системе шаред библиотеки library_2.so

-------------

Я в ассистенте почитал про qmake и нашел только "подходящую" функцию exists(filename) для поиска файлов.
В принципе её можно использовать для поиска нужных мне библиотек и хейдеров..

 НО вся проблема в том, что в *.nix системные заголовочные файлы и библиотеки могут находиться в совершенно разных директориях и называться по разному!
Например библиотека может быть library_2.so0 / library_2.s01 / library_2.so15 и т.п.
 
Данная проблема вгоняет меня в ступор...

Я знаю, что эта проблема может решится путем перехода на CMake - но я хочу попытаться решитьэто с помощью QMake!

У кого есть какие идеи и примеры *.pro/*.pri файлов где производится поиск нужных файлов в неизвестных директориях и поддиректориях?? :)


Название: Re: использование qmake для поиска системных хейдеров и библиотек
Отправлено: mkv от Апрель 15, 2010, 14:31
как вариант, есть еще qconf:
http://delta.affinix.com/qconf/
его активно используют в QCA


Название: Re: использование qmake для поиска системных хейдеров и библиотек
Отправлено: GreatSnake от Апрель 16, 2010, 08:10
pkg-config --cflags QtCore QtGui
pkg-config --libs QtCore QtGui


Название: Re: использование qmake для поиска системных хейдеров и библиотек
Отправлено: kuzulis от Апрель 16, 2010, 10:43
Цитировать
pkg-config --cflags QtCore QtGui
pkg-config --libs QtCore QtGui

дык это ж дополнительная штуковина...

УСЛОВИЕ ЗАДАЧИ: обойтись без всяких дополнительных софтинок, а использовать только возможности QMake!


Название: Re: использование qmake для поиска системных хейдеров и библиотек
Отправлено: crackedmind от Апрель 17, 2010, 11:37
Напиши что-то наподобие функции qtAddLibrary. Найдешь ее в mkspecs\feature\qt_functions.prf


Название: Re: использование qmake для поиска системных хейдеров и библиотек
Отправлено: kuzulis от Апрель 17, 2010, 17:03
спасибо всем!

решил что не буду над этим горевать.. пусть лучше будут работать у меня дефайны которые по умолчанию.. а реализацию поиска заголовков и библиотек оставлю на совести CMake до лучших времен.