2013-09-23 184 views
1

我想在ubuntu 13.04 32位主機上使用mingw在Windows 64bit上交叉編譯libtheora。與mingw交叉編譯libtheora

我已經安裝了MinGW的:

sudo apt-get install gcc-mingw-w64-x86-64 

下載和解壓縮libogg-1.3.0和libtheora-1.1.1

編譯libogg:

./configure --host=x86_64-w64-mingw32 
make 

編譯libtheora:

./configure --disable-examples --without-vorbis --disable-oggtest \ 
    --with-ogg-includes=../libogg-1.3.0/include \ 
    --with-ogg-libraries=../libogg-1.3.0/src/.libs \ 
    --host=x86_64-w64-mingw32 

彙編的結果是:

libtool: link: x86_64-w64-mingw32-gcc -shared .libs/libtheoradec-1.dll.def .libs/apiwrapper.o .libs/bitpack.o .libs/decapiwrapper.o .libs/decinfo.o .libs/decode.o .libs/dequant.o .libs/fragment.o .libs/huffdec.o .libs/idct.o .libs/info.o .libs/internal.o .libs/quant.o .libs/state.o .libs/mmxidct.o .libs/mmxfrag.o .libs/mmxstate.o .libs/x86state.o  -o .libs/libtheoradec-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libtheoradec.dll.a 
/usr/bin/x86_64-w64-mingw32-ld: .libs/libtheoradec-1.dll.def:3: syntax error 
/usr/bin/x86_64-w64-mingw32-ld:.libs/libtheoradec-1.dll.def: file format not recognized; treating as linker script 
/usr/bin/x86_64-w64-mingw32-ld:.libs/libtheoradec-1.dll.def:2: syntax error 

的libtheoradec-1.dll.def的前幾行:

EXPORTS 
EXPORTS^M 
; Old alpha API^M 
    theora_version_string @ 1^M 
    theora_version_number @ 2^M 

回答

0

我的建議是更好地在一些像libogg_bin目錄中安裝您的libogg-1.3.0

./configure --host=x86_64-w64-mingw32 --prefix=(path to install)/libogg_bin

make

make install

當u安裝該文件的權限和其他一些變化,以編譯代碼所做

CD libtheora-1.1.1

./configure --disable-examples --without-vorbis --disable-oggtest --with-ogg-includes=/path to-installed/include --with-ogg-libraries=/path to-installed/lib --host=x86_64-w64-mingw32

+0

我同意這是更好的,但不幸的是這並未解決不了問題。 –

+0

你有沒有嘗試過以上..我試過用libogg-1.3.1即時編譯沒有任何錯誤 –

+0

是的我試過了。我也嘗試了libogg-1.3.1。編譯libogg並安裝好,這是第二步(libtheora編譯),它不起作用。 –