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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Переменные окружения в про-файле  (Прочитано 10199 раз)
blood_shadow
Гость
« : Октябрь 07, 2011, 17:03 »

Добрый день

Короче создал переменную окружения:
BoostDir   C:\Program_Files\Libs\Boost\include\boost-1_47\

пишу так в про-файле:
INCLUDEPATH += $$(BoostDir)
и так пробовал
INCLUDEPATH += $(BoostDir)

не работает, путь правильный, а так работает:
INCLUDEPATH += "C:\Program_Files\Libs\Boost\include\boost-1_47\"

народ, кто знает как использовать переменную BoostDir чтобы не писать полный путь?

Спасибо
Записан
alexman
Гость
« Ответ #1 : Октябрь 07, 2011, 23:14 »

Как то так:
Код:
PROJECTDIR   = $$PWD/..
IMAGESDIR   += $$PROJECTDIR/src/shared/images
Записан
blood_shadow
Гость
« Ответ #2 : Октябрь 07, 2011, 23:30 »

самое интересное что для статических либ все работает, то есть:
переменная Boost_staticLib C:\Program_Files\Libs\Boost\lib\

Код:
LIBS += -L"$$(Boost_staticLib)" -lboost_signals-mgw45-mt-1_47
все отлично пашет,
а вот аналогичное решение для BoostDir:
Код:
INCLUDEPATH += "$$(BoostDir)" 
- нифига...

и так пробовал
Код:
PROJECTDIR += "$$BoostDir"
INCLUDEPATH += PROJECTDIR

и так:
Код:
PROJECTDIR += $${BoostDir}
INCLUDEPATH += PROJECTDIR

то ли это проблема самого INCLUDEPATH то ли qmake,
ничего не понимаю  Непонимающий
Записан
alexman
Гость
« Ответ #3 : Октябрь 08, 2011, 08:35 »

И так не работает?
Код:
BoostDir          = C:/Program_Files/Libs/Boost/include/boost-1_47
INCLUDEPATH += $$BoostDir
« Последнее редактирование: Октябрь 08, 2011, 08:41 от alexman » Записан
blood_shadow
Гость
« Ответ #4 : Октябрь 08, 2011, 11:44 »

to alexman

так работает, но смысл такого объявления отпадает, это всеравно что написать:
Код:
INCLUDEPATH += "C:/Program_Files/Libs/Boost/include/boost-1_47"

а хотелось через переменные окружения... наверно баг qmake'a, только одно не понятно
почему с LIBS работает, а вот с INCLUDEPATH нет  Непонимающий
Записан
blood_shadow
Гость
« Ответ #5 : Октябрь 08, 2011, 12:54 »

после своих экспериментов смею предположить что проблема именно в INCLUDEPATH
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #6 : Октябрь 21, 2011, 09:58 »

в про файле:
Код:
message($$(BoostDir))

Выводит корректно ?
Записан

blood_shadow
Гость
« Ответ #7 : Октябрь 21, 2011, 10:32 »

в про файле:
Код:
message($$(BoostDir))

Выводит корректно ?
разместил в про-файле, но функция вообще не работает
даже
Код:
message( "Message" )
и та не пашет ((
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Октябрь 21, 2011, 11:15 »

у меня она работает. без кавычек попробуй
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #9 : Октябрь 21, 2011, 11:25 »

у меня она работает. без кавычек попробуй
и пересборку делал и с консольным проектом и с гуи проектом пробовал, всеравно не работает  Непонимающий
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #10 : Октябрь 21, 2011, 12:44 »

и пересборку делал и ... всеравно не работает
message("My message") должна работать всегда, когда вызывается qmake.   При сборке/очистке/пересборке это сообщение выводиться не должно!

Выполните qmake
Записан

blood_shadow
Гость
« Ответ #11 : Октябрь 21, 2011, 13:02 »

Выполните qmake

вот про. файл
Код:
QT       += core

QT       -= gui

TARGET = Boost_examples
CONFIG   += console
CONFIG   -= app_bundle
CONFIG   += no_keywords

TEMPLATE = app


SOURCES += main.cpp \
    Base_derived.cpp

HEADERS += \
    boost_example.h \
    Base_derived.h

message( Message )
message("My message")


INCLUDEPATH += "C:\Program_Files\Libs\Boost\include\boost-1_47\"
LIBS += -L"$$(Boost_staticLib)" -lboost_signals-mgw45-mt-1_47


ничего не выводится ни в консоль, ни в отладчик
Цитировать
При сборке/очистке/пересборке это сообщение выводиться не должно!

эт почему? например при пересборке удаляются меик-файлы и генерируются заново qmake'ом
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #12 : Октябрь 21, 2011, 13:31 »

проверь чтоб эти галочки стояли в настройках (думаю предпоследней должно быть достаточно):
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
blood_shadow
Гость
« Ответ #13 : Октябрь 21, 2011, 15:32 »

проверь чтоб эти галочки стояли в настройках (думаю предпоследней должно быть достаточно):
спасибо именно предпоследней и не было  Улыбающийся
выводит message("My message") и так тоже message("My message"), но почему-то аж 3 раза  Непонимающий

to lesav

Код:
message ($$(BoostDir))
- не проходит выводит пустой месседж
Код:
Project MESSAGE: 
пробовал разные варианты ($$BoostDir), - ничего не выводит
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #14 : Октябрь 21, 2011, 17:50 »

>>но почему-то аж 3 раза
Выводится при создании каждого из следующих файлов:
Makefile
Makefile.Debug
Makefile.Release
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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