如何在Linux或MacOS上安装mingw32和mingw64?

时间:2011-07-09 03:07:21

标签: mingw mingw32 mingw-w64

我在Linux或MacOS上安装mingw32和mingw64时遇到问题。我已经尝试了许多不同的软件包存储库和多个版本的Linux。我很乐意使用任何东西。

感谢。

4 个答案:

答案 0 :(得分:5)

在Ubuntu上,你可以在很多情况下使用“apt-get install gcc-mingw32”

如果您需要同时安装64位和32位mingw编译器,请尝试以下操作:

对于64位构建系统:

apt-get install libmpfr1ldbl
wget http://ppa.launchpad.net/mingw-packages/ppa/ubuntu/pool/main/w/w64-toolchain/x86-64-w64-mingw32-toolchain_1.0b+201011211643-0w2273g93970b22426p16~karmic1_amd64.deb
dpkg -i x86-64-w64-mingw32-toolchain_1.0b+201011211643-0w2273g93970b22426p16~karmic1_amd64.deb

对于32位构建系统:

wget http://ppa.launchpad.net/mingw-packages/ppa/ubuntu/pool/main/w/w64-toolchain/i686-w64-mingw32-toolchain_1.0b+201011211643-0w2273g93970b22426p16~karmic1_amd64.deb
dpkg -i i686-w64-mingw32-toolchain_1.0b+201011211643-0w2273g93970b22426p16~karmic1_amd64.deb

此提示的来源:http://ubuntuforums.org/showthread.php?t=1705566

在Fedora上,您可以使用标准yum安装mingw32。 要安装mingw64,请按照以下说明操作:

交叉编译的最佳选择似乎是Fedora,它给你mingw32和mingw64:

我无法为Mac找到64位交叉编译器。

答案 1 :(得分:1)

Fedora有一个非常好的mingw32交叉编译器框架,包含许多预编译库。这些软件包都包含在官方软件包存储库中,只需运行'yum install mingw32-gcc'来设置编译器。有关详细信息,请参阅Fedora MinGW project页面。

但是,官方软件包目前仅支持32位Windows目标。为了解除这个限制,正在进行工作,并使用mingw32,mingw64和OS X交叉编译器设置临时存储库。有关详细信息,请参阅https://fedoraproject.org/wiki/MinGW/CrossCompilerFramework

答案 2 :(得分:0)

我认为你想要交叉编译到win32和win64。目前的Debian测试可以帮助您使用gcc-mingw-w64软件包。缺点是当前已禁用共享gcc库(=>交叉DLL异常支持等)。

答案 3 :(得分:0)

Fedora现在已将mingw32和mingw64放入主要版本中。这个脚本可以很好地安装所需的一切:

MPKGS="autoconf automake gcc gcc-c++ osslsigncode mingw32-nsis flex wine zlib-devel wget md5deep git "
MPKGS+="mingw32-gcc mingw32-gcc-c++ mingw32-zlib mingw32-zlib-static mingw32-libgnurx-static mingw32-boost mingw32-boost-static "
MPKGS+="mingw64-gcc mingw64-gcc-c++ mingw64-zlib mingw64-zlib-static mingw64-libgnurx-static mingw64-boost mingw64-boost-static"

if [ ! -r /etc/redhat-release ]; then
  echo This requires Fedora Linux
  exit 1
fi

if grep 'Fedora.release.' /etc/redhat-release ; then
  echo Fedora Release detected
else
  echo This script is only tested for Fedora Release 17 and should work on F17 or newer.
  exit 1
fi

echo Will now try to install 

sudo yum install -y $MPKGS
if [ $? != 0 ]; then
  echo "Could not install some of the packages. Will not proceed."
  exit 1
fi

echo 
echo "Now performing a yum update to update system packages"
echo yum -y update