関数出力が QString ではなく std::string である別のライブラリを使用する Qt アプリがあります。
だから私のプログラムにはメソッドがあります
void doSomething() {
...
std::string std_string = MyExternalLibraryThatReturnsSTLstring.getString();
QString myQString = QString::fromStdString(std_string);
...
process(myQString);
...
}
外部ライブラリが空でない std::string を返すと、すべて正常に動作します。ただし、空の std::string が返されると、スコープの最後でアプリがクラッシュします。std::string オブジェクト (?) の破壊と関係があると思います。
空の std::string であっても、QString への変換は正常に機能します。
なぜこれが起こるのか、この実行時エラーを回避する方法を教えてもらえますか?
(他のスレッドでは、デバッグ ライブラリとリリース ライブラリの混合について話し合っている人もいますが、私はそれを行ったとは思いません。ところで、どうやって調べるのですか?)