4

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

谢谢。

4

4 回答 4

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 位交叉编译器。

于 2011-07-27T03:40:20.033 回答
3

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

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

于 2011-07-16T23:38:11.230 回答
0

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

于 2011-07-16T08:49:11.070 回答
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
于 2013-02-09T22:03:46.593 回答