2010-04-16 59 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"