我在Linux或MacOS上安装mingw32和mingw64时遇到问题。我已经尝试了许多不同的软件包存储库和多个版本的Linux。我很乐意使用任何东西。
感谢。
答案 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,请按照以下说明操作:
http://www.advancedhpc.com/tower_servers/tower_server_products.html
$ cd /etc/yum.repos.d $ sudo wget http://fedoraproject.org/wiki/MinGW/CrossCompilerFramework#Development_and_testing_repository $ yum更新 $ yum install mingw64-gcc mingw64-g ++ mingw64-zlib
交叉编译的最佳选择似乎是Fedora,它给你mingw32和mingw64:
http://fedoraproject.org/wiki/MinGW/CrossCompilerFramework
sudo yum install mingw32-gcc-c ++
我无法为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