Название: [РЕШЕНО] QTranslator и QString
Отправлено: KsenZ от Май 23, 2014, 11:21
Пытаюсь подключить перевод к своей программе. Собственно вот пример кода: #include <QTranslator> #include <QLocale> #include "myApp.h"
int main(int argc, char** argv) { myApp app(argc, argv);
QString fname = QString("myapp_%1.qm").arg(QLocale::system().name().left(2)); QTranslator translator; translator.load(fname, TRANSLATIONS_DIR, "_"); app.installTranslator(&translator);
return app.exec(); } При сборе выдет ошибки: In file included from /usr/include/qt4/QtCore/qobject.h:48:0, from /usr/include/qt4/QtCore/qtranslator.h:45, from /usr/include/qt4/QtCore/QTranslator:1, from /home/ksenz/dev/myapp/src/main.cpp:1: /usr/include/qt4/QtCore/qstring.h: В функции «int main(int, char**)»: /usr/include/qt4/QtCore/qstring.h:597:5: ошибка: «QString::QString(const char*)» is private QString(const char *ch); ^ /home/ksenz/dev/myapp/src/main.cpp:9:43: ошибка: в данном контексте QString fname = QString("myapp_%1.qm").arg(QLocale::system().name().left(2)); ^ In file included from /usr/include/qt4/QtCore/qobject.h:48:0, from /usr/include/qt4/QtCore/qtranslator.h:45, from /usr/include/qt4/QtCore/QTranslator:1, from /home/ksenz/dev/myapp/src/main.cpp:1: /usr/include/qt4/QtCore/qstring.h:597:5: ошибка: «QString::QString(const char*)» is private QString(const char *ch); ^ /home/ksenz/dev/myapp/src/main.cpp:11:49: ошибка: в данном контексте translator.load(fname, TRANSLATIONS_DIR, "_"); ^ In file included from /usr/include/qt4/QtCore/qobject.h:48:0, from /usr/include/qt4/QtCore/qtranslator.h:45, from /usr/include/qt4/QtCore/QTranslator:1, from /home/ksenz/dev/myapp/src/main.cpp:1: /usr/include/qt4/QtCore/qstring.h:597:5: ошибка: «QString::QString(const char*)» is private QString(const char *ch); ^ /home/ksenz/dev/myapp/src/main.cpp:11:49: ошибка: в данном контексте translator.load(fname, TRANSLATIONS_DIR, "_"); ^
Причем данный пример, как подключить перевод, я взял из вполне рабочего приложения, которое отлично собирается. Что же не так у меня?
Название: Re: QTranslator и QString
Отправлено: carrygun от Май 23, 2014, 11:28
#include <QString>
Название: Re: QTranslator и QString
Отправлено: KsenZ от Май 23, 2014, 11:33
#include <QString>
Это не чего не меняет. Ошибки теже.
Название: Re: QTranslator и QString
Отправлено: Alex Custov от Май 23, 2014, 11:46
Думаю Qt собран с QT_NO_CAST_ASCII. Используй QLatin1String.
Название: Re: QTranslator и QString
Отправлено: KsenZ от Май 23, 2014, 12:10
Думаю Qt собран с QT_NO_CAST_ASCII. Используй QLatin1String.
Да действительно. Спасибо за подсказку. Только не Qt был собран с QT_NO_CAST_ASCII, а в CMakeLists.txt была директива ADD_DEFINITIONS(-DQT_NO_CAST_FROM_ASCII)
|