【发布时间】:2013-11-28 20:08:53
【问题描述】:
我在 Macosx 10.9 Mavericks 和命令行工具上安装了 Xcode 5.0.1(例如,我可以在命令行上使用 gcc/clang),但命令 opt 似乎消失了。
是不是被别的东西代替了?
【问题讨论】:
-
clang 的版本是多少?
标签: macos optimization llvm osx-mavericks
我在 Macosx 10.9 Mavericks 和命令行工具上安装了 Xcode 5.0.1(例如,我可以在命令行上使用 gcc/clang),但命令 opt 似乎消失了。
是不是被别的东西代替了?
【问题讨论】:
标签: macos optimization llvm osx-mavericks
Apple 从来没有在 XCode 命令行工具中提供“基本”LLVM 工具,只是叮当声。您需要自己编译所需的 LLVM 修订版/发行版。您也可以在http://llvm.org/releases/download.html 下载预构建的二进制文件。
【讨论】:
我的策略(在小牛队)是先做 brew install llvm 然后符号链接:
sudo ln -s /usr/local/Cellar/llvm/3.4/bin/opt /usr/bin/opt
sudo ln -s /usr/local/Cellar/llvm/3.4/bin/llc /usr/bin/llc
【讨论】:
/usr/local/bin/ 因为SIP
我通过 Homebrew 安装它,让它在 High Sierra 上工作。
brew install llvm
一旦你完成了,Homebrew 会告诉你这样的事情:
To use the bundled libc++ please add the following LDFLAGS:
LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.bash_profile
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/llvm/lib
CPPFLAGS: -I/usr/local/opt/llvm/include
If you need Python to find bindings for this keg-only formula, run:
echo /usr/local/opt/llvm/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/llvm.pth
继续跑吧:
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.bash_profile
将其粘贴到您的.bashrc / .bash_profile。
【讨论】:
我将为 El Capitan 和 Sierra 添加一个解决方案,因为现在它显示错误
ln: /usr/bin/opt: Operation not permitted
真的很简单,只要去~/.bash_source(或者你有的任何shell的rc文件)并写alias opt='/usr/local/Cellar/llvm/<llvm_version>/bin/opt'
【讨论】: