Могу ли я получить qmake -project для добавления LIBS + = .... в мой файл .pro? - PullRequest
4 голосов
/ 09 декабря 2011

У меня есть проект, который использует Qt. Таким образом, я "qmake" создаю свой Makefile из файла .pro. Но Qmake также может создать этот файл .pro: qmake -project. Это работало, пока мне не нужно было добавить внешнюю дополнительную библиотеку в мой проект.

Я получаю множество обращений в Google, которые говорят мне добавить LIBS + = ... в файл моего проекта, но я хочу сказать qmake -project что-то, что заставляет его добавить его для меня. В действительности, конечно, я буду делать это сам, но я не думаю, что это правильно, что я редактирую сгенерированный файл проекта.

Если, например, я добавлю файлы в каталог проекта, мне придется заново создать его и снова добавить в библиотеку, или мне придется вручную добавлять файлы в (почти полностью сгенерированный компьютером) файл проекта. Сейчас я использую скрипт для автоматической генерации файла проекта, а затем добавляю в директиву LIBS + =, но есть ли правильный способ сделать это?

1 Ответ

3 голосов
/ 09 декабря 2011

Когда вы разрабатываете без IDE Qt Creator, если только IDE не включает в себя некоторые автоматические утилиты, вы должны вручную отредактировать файл конфигурации .pro.

Сгенерированный файл .pro является файлом скелета, который вынеобходимо заполнить нужными библиотеками, тогда система qmake выяснит другие зависимости и скомпилирует ваш проект.По сути, это намного лучшая версия pkg-config для gtk + Makefiles.

Когда вы добавляете больше файлов исходного кода и ресурсов в свой проект, то вручную вы должны добавить их в файл .pro.

Пример:

QT       += core gui

TARGET = qtcp1
TEMPLATE = app
SOURCES += main.cpp\
        mainwindow.cpp \
        miwidget1.cpp \
        lcdrange.cpp

HEADERS  += mainwindow.h \
            miwidget1.h \
            lcdrange.h

FORMS    += mainwindow.u

В качестве альтернативы, вы можете снова и снова выдавать qmake -project, но это может привести к непредвиденным авариям, поскольку включает все, что находится в текущем каталоге на данный момент, включаяпредварительно обработанные файлы для преобразования в стандартный C ++ с QT диалекта.Эти промежуточные файлы должны быть стерты (очищены) перед перезапуском проекта и следующей сборки или могут привести к сложным проблемам.

Использование официальной и бесплатной IDE QT Creator снимает большую часть этого бремени, автоматически добавляяновые данные в файл .pro и чистка свободных концов.Некоторые другие IDE, такие как Code :: BLocks и Codelite, предоставляют некоторые возможности для QT, но не до уровня создателя QT.Некоторые предпочитают сами редактировать .pro по индивидуальным причинам, другие, как и другие стили IDE, такие как Eclipse.

Вы должны проверить воду и решить самостоятельно, что лучше всего соответствует вашим потребностям.

Переиздано, чтобы уточнить несколько вещей.

...