Мне нужно установить lib, который использует Qt на старой машине, которая запускает openSuse 11 i586. Фактически, моя машина сборки запускает Ubuntu, и у нас есть своя компиляция Qt - для использования статической функции. По-видимому, обе машины (сборка и цель) имеют совместимые системы.QString, возвращающий разные жало на одну и ту же компиляцию (но разные системы)
Все работает нормально, за исключением QString. На целевой машине QString печатает странные символы.
QTextStream out(stdout);
QString text = "ABCDEFGHJKLNOPQRSTUWXYZ \n";
out << text;
Например, код выше результатов этого на целевой машине:
ABCDEFGHEFGHSTUWXYZ
Есть ли трюк, чтобы решить эту проблему? Может быть, что-то связано с кодировкой. Я ценю любую помощь.
Может быть проблема с кодировкой файла. Попробуйте обернуть строковый литерал в макросе [QStringLiteral] (http://doc.qt.io/qt-5/qstring.html#QStringLiteral) – MrEricSir
Что показано 'std :: cout << text.toStdString()'? – jpo38
@ jpo38 показывает тот же результат (ABCDEFGHEFGHSTUWXYZ). Предупреждение QT_MESSAESSAWARNING: ING: теперь печатается после того, как toStdString() – Raiden