Linux ビルド ホストで mingw32 を使用して Xalan for Windows をクロスコンパイルしようとしています。私はこれを 1 年ほど前に Debian Lenny で問題なく実行しました (Makefile の微調整と MsgCreator のネイティブ コピーのみ)。
失敗しているコマンドは
i586-mingw32msvc-dllwrap --export-all-symbols --driver-name \
i586-mingw32msvc-g++ -mthreads -Wl,--allow-multiple-definition \
../../../../obj/XalanMsgLib.o -o ../../../../lib/libxalanMsg1_11_0.dll
これは、私のシステム用に修正された dllwrap コマンドとドライバー名を含むストック Makefile のコマンドです (Debian Squeeze、公式リポジトリからインストールされた mingw32 パッケージ)
生成されるエラーは
../../../../obj/XalanMsgLib.o: In function `_ZN11xalanc_1_1117XalanMsgContainer10getMessageEj':
XalanMsgLib.cpp:(.text+0x18): undefined reference to `_GLOBAL_OFFSET_TABLE_'
../../../../obj/XalanMsgLib.o:
.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0):
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
i586-mingw32msvc-dllwrap: i586-mingw32msvc-g++ exited with status 1
こことGoogleで見つけたアドバイスに従って、(私が知る限り)リンクにg ++が使用されていること、およびlibstdc ++がリンクされていることを確認しました(-lstdc ++はLDFLAGSにあり、上記のコマンド)。
他にもいくつか試してみましたが、これまでのところ何もうまくいかず、アイデアが不足しています。
このエラーの原因は何ですか?どうすれば修正できますか?