Ну в той теме интересное решение с svn. А если нет svn? Или билды нужно чаще считать, чем комитишся. Я решил так:
создал в корне исходников файл build.h
#ifndef BUILD_H
#define BUILD_H
#define BUILD 1
#endif
создал батник autobuild.bat
echo off
set BUILD=0
SET P=%CD%
IF EXIST build.h (
FOR /F "tokens=3 delims=, " %%i in (build.h) do set BUILD=%%i
)
set /a NEWBUILD=%BUILD%+1
echo #define BUILD %NEWBUILD% > build.h
echo build %BUILD%
добавляю #include build.h и в about достаю сборку
void MainWindow::about()
{
QString translatedTextAboutQtCaption("<h3>My Programm version 0.1.4<h3>");
QString translatedTextAboutQtText;
translatedTextAboutQtText = QMessageBox::tr(
"<p>Build %1</p>"
"<p>text</p>"
"<p>text</p>"
).arg(BUILD);
QMessageBox *msgBox = new QMessageBox(this);
msgBox->setText(translatedTextAboutQtCaption);
msgBox->setInformativeText(translatedTextAboutQtText);
//...
msgBox->exec();
}
Теперь нужно вызвать autobuild.bat перед сборкой. В QtCreator-e в настройках проекта добавить этап сборки для релиза (а можно для любой сборки) autobuild.bat. В других IDE сделать подобную настройку сборки.