Mac编译开源库需要的工具

  1. 安装Xcode,APP STORE下载即可。
  2. 安装git
1. 命令行安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
2. 通过Xcode安装
直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
  1. Homebrew
安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
卸载:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
  1. Mac升级nasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"< /dev/null 2> /dev/null
brew install nasm
查看版本nasm -v
查看支持的格式列表nasm -hf
  1. yasm
1.去yasm官网下载yasm,点标题可直接下载。
2.解压
3.进入目录执行./configure && make -j 4 && sudo make install
  1. 升级bash。
# [Mac升级bash到最新版本](https://www.cnblogs.com/litifeng/p/8448019.html)
mac自带的bash为3.2版本,而最新的bash是4.9,需要升级了,才能支持关联数组等新特性。
1. brew install bash
2. 安装到/usr/local/bin/bash里面。可以通过修改/etc/shells文件,来完成开机使用新版本的bash
3. 但是,无法改变/bin/bash的版本,这里仍旧为3.2版本,这给使用脚本带来不便,因为默认都是#!/bin/bash
4. 细查后,发现原来mac系统禁止更改系统目录的权限,引入sip机制,需要先关闭,修改,再打开这一系列操作。
5. 下面是打开和关闭sip的步骤。
(1)重启OSX系统,然后按住Command+R
(2)出现界面之后,选择Utilities menu中Terminal
(3)在Terminal中输入csrutil disable关闭SIP(csrutil enable打开SIP)
(4)重启reboot OSX
6. 关闭sip后,加入软连接,在打开sip
sudo mv /bin/bash  /bin/bash.origin
sudo ln -s /usr/local/bin/bash /bin/bash
  1. 安装Command Line Tools命令行工具
xcode-select --install
  1. 配置ADB工具
brew cask install android-platform-tools
  1. 配置Mac电脑端FFmpeg
brew install ffmpeg
  1. 配置Mac电脑端openCV
brew install opencv
  1. 配置全局变量
    在根目录 ~ 下创建.bash_profile文件,注意是你的用户名文件夹下
Android SDK 配置
export ANDROID_SDK=/Users/axing/Documents/android-sdk-macosx
export PATH=$ANDROID_SDK/platform-tools:$PATH
export PATH=$ANDROID_SDK/tools:$PATH

Android NDK 配置
export ANDROID_NDK=/Users/axing/Documents/android-ndk-r14b
export PATH=$ANDROID_NDK:$PATH

Android Flutter配置
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Volumes/document/flutter/bin:$PATH

执行命令source .bash_profile更新

测试:输入ndk-build -v
  1. 配置host
打开终端,输入sudo vi /etc/hosts,按i键即可进入编辑模式。
编辑完成之后保存退出。
执行命令
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
say DNS cache flushed
刷新DNS缓存。
  1. 配置代理加速
打开终端,执行
export {http,https}_proxy='http://ip:port'
仅对当前终端有效
  1. 安装make
终端执行:brew install make
  1. 安装libsdl
终端执行:brew install sdl
  1. 安装gnupg
终端执行:brew install gnupg2
  1. Mac上使用objdump和readelf
首先,mac系统下的文件格式是mach-o,并不支持objdump和readelf;
退而求其次,使用brew update && brew install binutils,然后用greadelf和gobjdump;
注意,使用使用brew update && brew install binutils会有如下提示:
binutils is keg-only, which means it was not symlinked into /usr/local,
because because Apple provides the same tools and binutils is poorly supported on macOS.

If you need to have binutils first in your PATH run:
  echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.bash_profile

For compilers to find binutils you may need to set:
  export LDFLAGS="-L/usr/local/opt/binutils/lib"
  export CPPFLAGS="-I/usr/local/opt/binutils/include"

18 在mac os 中安装 autoconf and automake

你需要安装很多东西,请按照以下顺序安装:

安装的版本包也不能错:

curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
tar -xzvf m4-1.4.13.tar.gz
cd m4-1.4.13
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz
tar -xzvf autoconf-2.65.tar.gz
cd autoconf-2.65
./configure --prefix=/usr/local # ironic, isn't it?
make
sudo make install
cd ..
# here you might want to restart your terminal session, to ensure the new autoconf is picked up and used in the rest of the script
curl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz
tar xzvf automake-1.11.tar.gz
cd automake-1.11
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz
tar xzvf libtool-2.2.6b.tar.gz
cd libtool-2.2.6b
./configure --prefix=/usr/local
make
sudo make install

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容