与mingw交叉编译时,如何处理配置文件?
问题描述:
我有一个小的开源程序,它使用autoconf配置脚本构建。与mingw交叉编译时,如何处理配置文件?
我跑配置我试着用编译:
make CC="/opt/local/bin/i386-mingw32-g++"
这并没有工作,因为发现配置脚本包括那些不提供给MinGW的系统文件。
于是我尝试:
./configure CC="/opt/local/bin/i386-mingw32-g++"
那是正确的方式做到这一点?
答
你想:
的./configure --host = i686的-PC-mingw32的
...它告诉配置要瞄准不同的平台。如果你的交叉编译环境设置正确,即你的路径中有“i686-pc-mingw32-gcc”,它应该都可以正常工作。
答
那么,这似乎工作:
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"
原来,这没有奏效。我找到的Mac mingw安装程序将可执行文件安装为i686-apple-darwin10-cpp-4.2.1。指定'--host = i686-apple-darwin10'和'--host = i686-pc-mingw32'不起作用。 – vy32 2011-06-29 12:51:40
啊,但除了安装编译器为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