0

erlang の wx モジュールを使用しようとしていますが、すべての関数で次のエラーが発生してクラッシュします。

Erlang/OTP 18 [erts-7.2] [source-e6dd627] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.2  (abort with ^G)
1> wx:demo().
Fatal Error: Mismatch between the program and library build versions detected.
                                                                              The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1009,wx containers,compatible with 2.6),
          and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6).
                                                                                                                    Aborted (core dumped)

私は、erlang 18.2 と wxWidgets 2.8 がインストールされた Ubuntu 15.10 を使用しています。

私はすでに wxWidgets と erlang の両方をアンインストールして再インストールしました。これにより、最初に発生したエラー (wx モジュールのすべての関数で未定義の関数を取得する) が解決されましたが、その後、続行する方法が見つかりませんでした。

正常に実行するにはどうすればよいですか?

4

1 に答える 1

1

ライブラリと Erlang ラッパーは、2 つの異なるコンパイラを使用してコンパイルされました。どちらをどのようにインストールしたかはわかりませんが、ローカルにある g++ のバージョンを使用してソースから両方をビルドするのが最善です。

それができない場合は、 Erlang ラッパーをコンパイルする前に、この変更を wxWidgets ヘッダーに適用して、2 つのバージョン間の互換性を強制することができます。

于 2016-02-10T15:07:36.340 に答える