前言 {#前言}
水?篇文章.
monero-gui 官方没给ARM版.要下个版本应该会给?急急急,转译的应用很不爽.直接上编译.
这个项目里面整的很清楚了,但我还是要水?.
前提: 你已安装了 brew
如果不是非要ARM版本(注:本文发布时是没有arm版的,以后可能直接就是arm版,不用编译),可以直接用 brew
安装.CLI版: brew install monero
GUI版: brew install monero-wallet
后续更新方便.
安装依赖 {#安装依赖}
|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3
| brew remove qt # 起手卸载,防止和qt@5冲突 brew install cmake pkg-config openssl boost unbound hidapi zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf libgcrypt qt@5 brew reinstall qt@5 # 可选
|
编译 {#编译}
找个地方放编译文件夹,建议编译完不用删,方便以后编译,如果硬要删又要编译.我建议看我后面关于签名部分.
|---------------|----------------------------------------------------------------------------------------------------------------------------|
| 1 2 3
| git clone --recursive https://github.com/monero-project/monero-gui.git cd monero-gui make -j$( nproc ) || make -j1
|
编译没问题往后看,有问题自己解决吧(我不会).
如果编译文件夹不删除.那么请看本部分 {#如果编译文件夹不删除-那么请看本部分}
|-----------|----------------------------------------------------------------------------------------------|
| 1
| cp -rf ./build/release/bin/monero-wallet-gui.app /Applications/monero-wallet-gui.app
|
构建应用程序包 {#构建应用程序包}
用于要删文件夹情况.
|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5
| mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default .. make -j$( nproc ) || make -j1 make deploy cd ./build/bin
|
新建文件 entitlements.plist
|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10
| cat << EOF > entitlements.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.cs.disable-executable-page-protection</key> <true/> </dict> </plist> EOF
|
然后运行下面命令,如果你有苹果开发者证书应该知道 XXXXXXXXXX
填什么.如果没有,别运行下面命令.看后面.
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2
| sudo codesign --deep --force --verify --verbose --options runtime --timestamp --entitlements entitlements.plist --sign 'XXXXXXXXXX' monero-wallet-gui.app cp -rf ./monero-wallet-gui.app /Applications/monero-wallet-gui.app
|
没有苹果开发者证书 {#没有苹果开发者证书}
将上面 <true/>
改为 <false/>
打开 钥匙串访问.app
,然后在 登录 我的证书 这个界面下.然后看图
名称可以自己改.然后运行下面命令.
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3
| sudo codesign --deep --force --verify --verbose --options runtime --timestamp --entitlements entitlements.plist --sign 'lanyun' monero-wallet-gui.app spctl -a -t exec -vv monero-wallet-gui.app # 看一下,是不是accepted,如果是,则继续 cp -rf ./monero-wallet-gui.app /Applications/monero-wallet-gui.app
|
如果有问题,请自行参考 https://github.com/monero-project/monero-gui/blob/master/DEPLOY.md
如果你遇到 libboost_atomic-mt.dylib (no such file) 这个错误.
显然,出现了问题.有种错误修复方式,因为会导致显示异常.
cp -rf /opt/homebrew/lib/libboost_atomic-mt.dylib ./monero-wallet-gui.app/Contents/Frameworks
本人不会修,可能是macOS版本太高了吧,无所谓,我不用构建应用程序包.