openSUSE 11 i586を実行する古いマシンでQtを使用するlibをインストールする必要があります。実際、私のビルドマシンはUbuntuを実行しており、私たちは独自のQtコンパイルを持っています - 静的な機能を使用するためです。明らかに、両方のマシン(ビルドとターゲット)に互換性のあるシステムがあります。同じコンパイル(異なるシステム)で異なる文字列を返すQString
QStringを除いて、すべて正常に動作します。ターゲットマシンでQStringは奇妙な文字を出力します。例えば
QTextStream out(stdout);
QString text = "ABCDEFGHJKLNOPQRSTUWXYZ \n";
out << text;
、ターゲットマシン上の結果、これを上記のコード:
ABCDEFGHEFGHSTUWXYZ
は、これを解決する任意のトリックはありますか?たぶんcharsetに関連するもの。私はどんな助けにも感謝します。
ファイルのエンコードに問題がある可能性があります。 [QStringLiteralマクロ](http://doc.qt.io/qt-5/qstring.html#QStringLiteral)に文字列リテラルをラップしてみてください – MrEricSir
'std :: cout << text.toStdString()'で示されているものは? – jpo38
@ jpo38は同じ出力(ABCDEFGHEFGHSTUWXYZ)を示します。警告QT_MESSAESSAWARNING:ING:nowはtoStdString()の後に出力されます。 – Raiden