Error exporting symbol when cross-compiling ICU for Windows. -
i attempting utilize mingw-w64's 32-bit compiler (the i686-w64-mingw32
toolchain) cross-compile icu library windows. host ubuntu 12.10 64-bit.
the steps have taken this:
grab latest source code archive here , extract it.
make 2 copies of source/
directory - 1 host , 1 target.
for host build:
./configure ; makefor target build:
./configure --host=i686-w64-mingw32 --with-cross-build=<host_source_dir>...where <host_source_dir>
directory previous step.
when run make
in target source directory, compilation proceeds without errors few moments , throws error:
what causing error? backed few lines , noticed this:
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 cannot export icudt50_dat: symbol not found collect2: ld returned 1 exit status -- homecoming status = 256 error generating library file. failed command: 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 error generating assembly code data.what doing wrong?
in order debug symbol problem provide flag -wl,--trace-symbol=_uconvmsg_dat
i686-w64-mingw32-g++
follows:
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 -wl,--trace-symbol=_uconvmsg_dat
windows cross-compiling icu
No comments:
Post a Comment