Mac 环境编译安装wine

Mac 环境编译安装wine

参考文献:
https://blog.csdn.net/wzh8108/article/details/106810568
https://blog.csdn.net/klanboy_coy/article/details/113778190

需要在Mac安装wine,直接从wine官网上下载pkg包安装的程序不能打开,只能自己编译安装了。需要注意的是,我使用的Mac系统为10.14.6,在wine官网上说wine仅支持Mac系统10.8到10.14版本,如果其他版本的系统需要安装的请自行尝试。

首先需要下载wine源码,可以在wine的官网上下载,地址是
https://dl.winehq.org/wine/source/

注意下载的版本,由于编译的时候需要mac系统安装bison,不同的wine版本在编译时所需bison版本也不同。我下载的wine版本是6.0的,bison版本为3.7.6,编译的时候不会出问题。如果要使用wine5.0版本,bison版本在3.5.3上下,具体的请查看参考文献。
由于在通过pkg安装wine时需要XQuartz支持,我也下载了XQuartz 2.7.7,安装XQuartz主要是为了一个freetype库,如果不安装的话,需要自己手动下载freetype编译安装。如果要支持wine,XQuartz 版本也只能在2.7.7到2.7.11版本,2.8版本就不能运行了。

下载好wine6.0源码后,在家目录下新建一个文件夹wine64,Mac10.14.6只支持64位系统,就只用创建一个文件夹进行64位编译就可以了。创建好文件夹之后把下载源码包解压到文件夹中。编译过程会把编译出的数据直接写到源码文件夹,所以最好不要源码文件夹发在桌面上。

cd /Users/swl/wine64               //切换到wine源码目录,编译需要在源码目录里进行
./configure --enable-win64     //进行64位编译的配置检测,可以查看哪些模块没有安装

如果编译出错,提示需要升级bison版本,则需要先查看bison版本。
configure: error: Your bison version is too old. Please install bison version 3.0 or newer.

bison  --version         //显示bison版本

一般Mac系统中bison版本为2.3,需要手动安装新版本bison

brew install bison             //通过brew安装bison

安装完成后,如果还是提示同样的错误,则需要手动替换bison

brew list bison           //查看通过brew安装bison的路径

bison实际安装到/usr/local/Cellar/bison/目录,而系统实际运行在/Library/Developer/CommandLineTools/usr/bin,所以需要备份旧文件,复制新文件

cd /Library/Developer/CommandLineTools/usr/bin     //切换到bison运行目录
ls -l bison            //查看bison文件
sudo mv bison bison_bak                //使用管理员权限备份原有的bison文件
sudo cp /usr/local/Cellar/bison/3.7.6/bin/bison ./bison     //把bison文件复制到运行目录
bison --version            //显示bison版本,如果显示为3.7.6则表示版本更新成功

之后切换会wine源码所在位置,重新进行配置检测

 ./configure --enable-win64

出现上图所示的configure: Finished. Do ‘make’ to compile Wine.后就可以使用make进行编译(如果提示没有权限,就使用sudo make进行编译)。
如果出现-p ppy_ -o ppy.tab.c ppy.y系统报错,并且有以下提示
/Library/Developer/CommandLineTools/usr/bin/m4: /Library/Developer/CommandLineTools/usr/share/bison/skeletons/c-skel.m4: No such file or directory

则是因为bison与wine的版本不匹配,建议下载bison对应版本的源码,找到skeletons文件复制到指定位置/Library/Developer/CommandLineTools/usr/share/bison/,再编译就不会出现问题了。

编译时间有点长,需要耐心等待。wine6.0编译完成之后,就可以用下面代码进行Windows程序使用了。如果在终端目录中直接运行下面代码提示没有该命令,这是因为在编译过程中没有在bin目录中创建wine对应的链接,可以手动创建链接或者把目录切换到安装wine的目录下,再使用wine命令。

wine64 --version 		//查看wine是否安装成功
wine64  /path/****.exe  //运行Windows程序
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值