Получение значений из профессиональных файлов в Qt - PullRequest
18 голосов
/ 12 мая 2010

Я использую Qt 4.5 в Windows XP. Мой профессиональный файл имеет переменную VERSION = 1.0. Теперь мне нужно прочитать эту переменную и получить ее значение (1.0) из исходного кода. Так что мне не нужно поддерживать другую переменную для версии в моем исходном коде. Я просто прочитал из файла Pro и обновил его. Так что ценность остается неизменной во всем моем проекте. Является ли это возможным? Любые указания по этому поводу приветствуются ..

Ответы [ 2 ]

19 голосов
/ 12 мая 2010

Используйте что-то вроде этого:

DEFINES += VERSION=\\\"$$VERSION\\\"

Это определит макрос, который вы можете использовать в исходном коде C. Избавьтесь от обратной косой черты и кавычек, если вы хотите число, а не строку.

6 голосов
/ 14 января 2017

Я немного уточню это.

В YourApp.pro:

VERSION = 0.0.0.1
DEFINES += APP_VERSION=\\\"$$VERSION\\\"

В main.cpp:

#include <QApplication>
QCoreApplication::setApplicationVersion(QString(APP_VERSION));

Где еще в ваших источниках, например в воображаемом controller.cpp:

#include <QApplication>
QString yourAppVersion = QCoreApplication::applicationVersion();
...