0

基本的に、私が実行しようとしているすべてのQtアプリケーションは1か所でクラッシュします。

#0  0x0000000000000000 in ?? ()
#1  0x0000000100f4f570 in QIconvCodec::createIconv_t ()
#2  0x0000000100f5043b in QIconvCodec::convertToUnicode ()
#3  0x0000000100032c7e in QString::fromLocal8Bit ()
#4  0x0000000100e7cb89 in QSystemLocale::fallbackLocale ()
#5  0x00000001000161e0 in QLocalePrivate::updateSystemPrivate ()

iconvMac OS Xではあまり「安定」していないので、何か関係があるのではないかと思います。問題が何であるかわかりません。Macportsから再インストールして自分でビルドしようとしましたが、それでもlibiconv同じ結果が得られます。問題。

おそらく、必要なシンボル(欠落している可能性があります)をdlsymし、アドレスにジャンプして、それを引き起こします(したがって、0x0000000000000000バックトレースにあります)。

考えられる問題は何ですか?(これが間違った場所である場合は申し訳ありません)

4

3 に答える 3

3

私はこれと同じ問題に遭遇し、何が起こっているのかを理解するためにQtライブラリのデバッグバージョンを構築することになりました。Qtライブラリは、マシンに/usr/lib/libconv.dylibがあることを前提としているようです。私のマシンの場合、解決策は次のように単純でした...

sudo ln -s /usr/lib/libiconv.2.dylib /usr/lib/libiconv.dylib

于 2011-07-20T17:33:48.560 に答える
1

合理的な推測のように聞こえます。

MacではクラッシュするがLinuxまたはWindowsでは成功するテストケースをコンパイルできますか?

もちろん、ソースコードを見ることができます-Qt関数本体は非常に小さく、高度に因数分解される傾向があるため、何が問題なのかを簡単に確認できるはずです。

于 2011-07-20T12:59:48.753 に答える
0

あなたのアドレスを見ると、64ビットであることがわかります。たぶん、32ビットと64ビットのバイナリの間にある種の非互換性がありますか?

于 2011-07-20T13:03:17.233 に答える