2010-04-16 60 views
1

我有一個小的開源程序,它使用autoconf配置腳本構建。與mingw交叉編譯時,如何處理配置文件?

我跑配置我試着用編譯:

make CC="/opt/local/bin/i386-mingw32-g++" 

這並沒有工作,因爲發現配置腳本包括那些不提供給MinGW的系統文件。

於是我嘗試:

./configure CC="/opt/local/bin/i386-mingw32-g++" 

那是正確的方式做到這一點?

回答

1

你想:

的./configure --host = i686的-PC-mingw32的

...它告訴配置要瞄準不同的平臺。如果你的交叉編譯環境設置正確,即你的路徑中有「i686-pc-mingw32-gcc」,它應該都可以正常工作。

+0

原來,這沒有奏效。我找到的Mac mingw安裝程序將可執行文件安裝爲i686-apple-darwin10-cpp-4.2.1。指定'--host = i686-apple-darwin10'和'--host = i686-pc-mingw32'不起作用。 – vy32 2011-06-29 12:51:40

+1

啊,但除了安裝編譯器爲i686-apple-darwin10-gcc-4.2.1之外,它還安裝了/usr/local/i386-mingw32-4.3.0/bin/i386-mingw32-gcc。將/usr/local/i386-mingw32-4.3.0/bin/添加到我的$ PATH中並運行./configure --host = i386-mingw32, – vy32 2011-06-29 12:55:56

0

那麼,這似乎工作:

MBIN=/opt/local/bin/ 
    PREFIX=/opt/local/i386-mingw32 
    export CC=$MBIN/i386-mingw32-gcc 
    export CXX=$MBIN/i386-mingw32-g++ 
    export RANLIB=$MBIN/i386-mingw32-ranlib 
    export AR=$MBIN/i386-mingw32-ar 
    export MINGWFLAGS="-mwin32 -mconsole -march=pentium4 " 
    export CFLAGS="$MINGWFLAGS" 
    export CXXFLAGS="$MINGWFLAGS" 
    VARS="CC=$CC CXX=$CXX RANLIB=$RANLIB AR=$AR" 
    make $VARS CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS"