Mingw-w64の32ビットコンパイラ(i686-w64-mingw32
ツールチェーン)を使用して、Windows用のICUライブラリをクロスコンパイルしようとしています。ホストはUbuntu12.1064ビットです。
私が行った手順は次のようになります。
ここから最新のソースコードアーカイブを入手して抽出します。
ディレクトリのコピーを2つ作成
source/
します。1つはホスト用、もう1つはターゲット用です。ホストビルドの場合:
。/構成、設定 ; 作る
ターゲットビルドの場合:
./configure --host = i686-w64-mingw32 --with-cross-build = <host_source_dir>
...
<host_source_dir>
前の手順のディレクトリはどこにありますか。ターゲットソースディレクトリで実行する
make
と、コンパイルはエラーなしでしばらく進行し、次のエラーがスローされます。i686-w64-mingw32-g ++ -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long -mthreads -o ../../bin/uconv.exe uconv.o uwmsg.o -L ../../ lib -licuin50 -L ../../ lib -licuuc50 -L ../../stubdata -licudt50 -lm uconvmsg / uconvmsg.a uconv.o:uconv.cpp:(。text + 0x2f):`_uconvmsg_dat'への未定義の参照
このエラーの原因は何ですか?私は数行をバックアップし、これにも気づきました:
pkgdata:i686-w64-mingw32-gcc -O2 -Wall -std = c99 -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -mthreads -shared -Wl、-Bsymbolic -Wl、--enable-auto-import -Wl、--out-implib=。/all.lib -o ../lib/icudt50.dll ./out/tmp/icudt50l_dat.o icudt50_datをエクスポートできません:シンボルが見つかりません collect2:ldが1つの終了ステータスを返しました -ステータスを返す=256 ライブラリファイルの生成中にエラーが発生しました。失敗したコマンド:i686-w64-mingw32-gcc -O2 -Wall -std = c99 -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -mthreads -shared -Wl、-Bsymbolic -Wl、--enable-auto-import -Wl、--out-implib = ./ all.lib -o ../lib/icudt50.dll ./out/tmp/icudt50l_dat.o データのアセンブリコードの生成中にエラーが発生しました。
私は何が間違っているのですか?