Russian Qt Forum

Qt => Вопросы новичков => Тема начата: stima от Ноябрь 30, 2011, 22:25



Название: Настройка .pro файла
Отправлено: stima от Ноябрь 30, 2011, 22:25
Хочу упорядочить сборку, что-то вроде такого:
release:DESTDIR     = release
release:OBJECTS_DIR = release/.obj
release:MOC_DIR     = release/.moc
release:RCC_DIR     = release/.rcc
release:UI_DIR      = release/.ui

но возникают ньюансы:
1. Создаеться еще папка debug (как убрать это?)
2. если прописую это в .pro файле, то начинаються непонятки с подключенными хедерами, пишет, что ниодин хедер не найден


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Ноябрь 30, 2011, 23:53
ты бы полностью выложил про, а не кусок.
Может ты запускаешь на компиляцию Debug&Release?

Попробуй так.
qmake -r CONFIG+=release


Название: Re: Настройка .pro файла
Отправлено: stima от Декабрь 01, 2011, 00:06
QT += core gui

TARGET = NoName
TEMPLATE = app

CONFIG += release

HEADERS += \
    Gui/Welcome.h \
    Gui/ScanSettings.h \
    Gui/ScanResult.h \
    Gui/ScanProgress.h \
    Gui/MainForm.h \
    Interfaces/IPlugin.h

SOURCES += \
    Gui/ScanSettings.cpp \
    Gui/ScanResult.cpp \
    Gui/ScanProgress.cpp \
    Gui/MainForm.cpp \
    Gui/Welcome.cpp \
    main.cpp

FORMS += \
    Gui/Welcome.ui \
    Gui/ScanSettings.ui \
    Gui/ScanResult.ui \
    Gui/ScanProgress.ui \
    Gui/MainForm.ui

release:DESTDIR        = release
release:OBJECTS_DIR  = release/.obj
release:MOC_DIR       = release/.moc
release:RCC_DIR        = release/.rcc
release:UI_DIR          = release/.ui


Название: Re: Настройка .pro файла
Отправлено: stima от Декабрь 01, 2011, 01:04
Как вообще организовать структуру проекта и соответственно прописать pro файлы, чтобы получить приблизительно следущее:
project/ - папка проекта
    /mian - главный проект
        /gui - поддериктория с гуи хедерами, исходниками, ui файлами
        /engine - определенная логика
   /plugin1 - проект плагина
   /plugin2
   /relese - папка релиз версии
      /libs - здесь уже лежит qtcore4.dll, qtgui4.dll, а также сюда перенаправляются dll из плагинов
      *.exe - собственно екзешник


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 01, 2011, 01:32
в папке проекта создаешь файл проекта template=subdirs
в него включаешь все свои подпроекты.
Уже в каждом из них организовываешь как тебе нужно.
Чтобы файлы складывались в нужные тебе директории.
Найди руководство по кумейку.
qmake manual в гугле.
Все равно возникнет куча вопросов в процессе, а там все очень хорошо описано.
В инете встречается русскоязычная версия, если нужно.


Название: Re: Настройка .pro файла
Отправлено: stima от Декабрь 01, 2011, 02:44
Если было бы все так просто), я читал мануал))


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 01, 2011, 11:45
Так что ты ожидаешь, тебе тут готовый файл проекта выдадут?
Касательно твоей задачи, все действительно просто.
Нужно всего-то один файл проекта сделать с двумя строчками.

http://lmgtfy.com/?q=template+subdirs


Название: Re: Настройка .pro файла
Отправлено: stima от Декабрь 01, 2011, 14:42
Прочитай внимательней первый пост.

------------------
TEMPLATE = subdirs

SUBDIRS += Plugin\
           MainApp

CONFIG += ordered
------------------

QT       += core gui

TARGET = NoName
TEMPLATE = app

SOURCES += main.cpp\
           Gui/Welcome.cpp \
           Gui/ScanSettings.cpp \
           Gui/ScanResult.cpp \
           Gui/ScanProgress.cpp \
           Gui/MainForm.cpp \
           Interfaces/IPlugin.cpp

HEADERS += Gui/Welcome.h \
           Gui/ScanSettings.h \
           Gui/ScanResult.h \
           Gui/ScanProgress.h \
           Gui/MainForm.h \
           Interfaces/IStep.h \
           Interfaces/IPlugin.h

FORMS   += Gui/MainForm.ui \
           Gui/Welcome.ui \
           Gui/ScanSettings.ui \
           Gui/ScanResult.ui \
           Gui/ScanProgress.ui

CONFIG(release, debug|release) { //Всеравно создает папку .debug
    DESTDIR  = ../.release
}

#else {
#   DESTDIR = ../.debug 
#}

OBJECTS_DIR = .tmp/obj
MOC_DIR     = .tmp/moc
RCC_DIR     = .tmp/rcc
#UI_DIR      = .ui /// Если добавить эту строчку то ругаеться на хедеры
 


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 01, 2011, 17:59
Да, это я перепутал что-то с чем-то)


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 01, 2011, 18:01
добавь это в файл проекта.

CONFIG(debug, debug|release) {
  message(Qt version: $$[QT_VERSION] debug)
}
else {
  message(Qt version: $$[QT_VERSION] release)
}

Посмотри какая сбора отрабатывает релиз или дебаг.


Название: Re: Настройка .pro файла
Отправлено: stima от Декабрь 01, 2011, 19:43
Вообще ничего не пишет


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 02, 2011, 00:15
так не может быть. должен писать, когда qmake запускаешь.


Название: Re: Настройка .pro файла
Отправлено: stima от Декабрь 02, 2011, 11:19
Не доглядел извиняюсь Project MESSAGE: Qt version: 4.7.4 release


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 02, 2011, 17:33
Тогда хз)


Название: Re: Настройка .pro файла
Отправлено: SASA от Декабрь 05, 2011, 17:22
Папки debug и release создаются всегда. Не знаю почему.
Про ui. Обычно пишу UI_DIR += и никогда не ругался.


Название: Re: Настройка .pro файла
Отправлено: andrew.k от Декабрь 05, 2011, 17:27
Папки debug и release создаются всегда. Не знаю почему.
Про ui. Обычно пишу UI_DIR += и никогда не ругался.
А у меня нет. Какую сборку собираю, такая и есть. Лишних папок нет.

UPD. Сейчас глянул внутрь. В каждом подпроекте пустая папочка debug тоже присутствует, я думал речь о верхнем уровне.
Тогда у меня тоже везде по две штуки и debug пустая.