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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: использование qmake для поиска системных хейдеров и библиотек  (Прочитано 4403 раз)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« : Апрель 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 файлов где производится поиск нужных файлов в неизвестных директориях и поддиректориях?? Улыбающийся
« Последнее редактирование: Апрель 15, 2010, 12:39 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
mkv
Гость
« Ответ #1 : Апрель 15, 2010, 14:31 »

как вариант, есть еще qconf:
http://delta.affinix.com/qconf/
его активно используют в QCA
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Апрель 16, 2010, 08:10 »

pkg-config --cflags QtCore QtGui
pkg-config --libs QtCore QtGui
Записан

Qt 5.11/4.8.7 (X11/Win)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #3 : Апрель 16, 2010, 10:43 »

Цитировать
pkg-config --cflags QtCore QtGui
pkg-config --libs QtCore QtGui

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

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

ArchLinux x86_64 / Win10 64 bit
crackedmind
Гость
« Ответ #4 : Апрель 17, 2010, 11:37 »

Напиши что-то наподобие функции qtAddLibrary. Найдешь ее в mkspecs\feature\qt_functions.prf
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #5 : Апрель 17, 2010, 17:03 »

спасибо всем!

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

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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