Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: navrocky от Август 05, 2009, 12:44



Название: Под виндой не могу собрать многопапковый проект
Отправлено: navrocky от Август 05, 2009, 12:44
Сделал субж:
Код:
/prog.pro
/staticlib1/staticlib1.pro
/staticlib2/staticlib2.pro
/app/app.pro

app.pro линкует библиотеки staticlib1 и staticlib2
Код:
LIBS += ../staticlib1/staticlib1.a ../staticlib1/staticlib1.a

Под линуксом все собирается прекрасно.

Под виндой qmake зачем-то делает папки debug и release и туда кладет объектники, и соответственно такие указания: ../staticlib1/staticlib1.a
уже не прокатывают.

Что делать?

Я конечно понимаю что сами по себе папочки debug и release - правильное решение, но как указать путь к линкуемой статической либе из другого подпроекта не ясно... ???


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: Авварон от Август 05, 2009, 12:52
вообще-то линк делается LIBS += -L<путь_куда_надо> -l<имя библиотеки> И расширение, и префикс lib не указываются


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: navrocky от Август 05, 2009, 13:14
"-l" - для линковки с динамической библиотекой

а для линковки со статической либой по любому необходимо указывать путь к ней. А как раз путь я не могу определить, т.к. qmake создает папку /staticlib1/debug и в нее кладет либу. И это только под виндой, под линух /staticlib1/staticlib1.a.

PS: структуру проекта задавал не я а kdevelop :) думаю он не ошибается

может есть способ задать qmake'у чтобы он не делал так?


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: navrocky от Август 05, 2009, 13:25
Победил для себя эту кривизну таким образом (я использую qt-sdk для винды):
в файле qt/mkspecs/default/qmake.conf удалил debug_and_release и debug_and_release_target

Но вопрос остается открытым: как правильно поступать в такой ситуации? все-таки папки debug и release правильнее


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: ритт от Август 05, 2009, 13:33
а слабо хотя бы DESTDIR указать? :)


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: Авварон от Август 05, 2009, 13:54
все равно папки дебаг и релиз будут, но при линковке должно помочь


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: ритт от Август 05, 2009, 14:22
эти папки *должны* быть - иначе как будем собирать с CONFIG += debug_and_release ?


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: navrocky от Август 05, 2009, 14:31
а слабо хотя бы DESTDIR указать? :)
Где? :-\

ЗЫ А делаю я так потому что, программа ожидается очень большой, хочу побить классы на модули в статические либы, потом линкануть их в основном приложении.. вот что-то не получается нормально


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: Авварон от Август 05, 2009, 14:33
в .pro файле написать DESTDIR = bin


Название: Re: Под виндой не могу собрать многопапковый проект
Отправлено: navrocky от Август 05, 2009, 14:49
в .pro файле написать DESTDIR = bin

помогло  :D