Ticket #78 (closed задача: неисправимо)
Копирование ресурсов в нужные директории
| Reported by: | dmitriid.livejournal.com | Owned by: | dmitriid.livejournal.com |
|---|---|---|---|
| Priority: | основной | Milestone: | 1.0rc3 |
| Component: | all | Version: | 1.0 |
| Keywords: | Cc: |
Description
После компиляции переносить директорию с ресурсами (переводы иконки и все, что не лень, в ту директорию, куда компилируется приложение) или согласно принятым в системе правилам
Linux:
/bin
/share
/resources
/translations
Windows:
/path/to/app/
/resources
/translations
MacOS:
/path/to/app/avalon.app/
/Contents
/MacOS
/resources
/translations
Для того, чтобы иметь единобразие. Таким образом можно в файле main.cpp сделать:
QString path_to_app = QApplication::applicationDirPath();
сразу зададим умолчания для всех видов *nix'ов
QString path_to_resources = QApplication::canonicalPath(path_to_app + '../share/resources');
#ifdef Q_WS_MAC MacOS
path_to_resources = QApplication::canonicalPath(path_to_app + '/avalon.app/Contents/MacOS/resources');
#endif
#ifdef Q_OS_WIN32 Любая десктопная винда
path_to_resources = QApplication::canonicalPath(path_to_app + '/resources');
#endif
qt_translator.load(QApplication::canonicalPath(path_to_resources + "/translations/avalon_" + lang))
а не тот жуткий ужас, что там сейчас творится

Мнэээ... Не QApplication::canonicalPath(...), а QDir(path).canonicalPath().
См. файл main.cpp