Clang и компилятор по умолчанию в OS X Lion

В OS X Snow Leopard (10.6) я использовал следующие строки в ~/.bashrc для принудительной компиляции с clang вместо стандартного gcc:

# Set Clang as the default compiler for the system
export CC=clang
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

Мне также (иногда) приходилось использовать следующие строки для использования llvm-gcc, когда clang не мог скомпилировать определенные вещи (PostgreSQL был виновен в этом в течение длительного времени):

# Set LLVM GCC as the default compiler for the system
export CPP='llvm-gcc-4.2'
export CC='llvm-gcc-4.2'
export CXX='llvm-g++'

В OS X Lion (10.7) эти строки все еще требуются? Является ли llvm-gcc (или clang) компилятором по умолчанию для системы? Или эти строки все равно должны жить в моем ~/.bashrc?


person Bryson    schedule 22.07.2011    source источник


Ответы (2)


gcc имеет символическую ссылку на llvm-gcc-4.2 на Lion.

lrwxr-xr-x 1 корневое колесо 12 21 июля 20:51 /usr/bin/gcc -> llvm-gcc-4.2

lrwxr-xr-x 1 корневое колесо 12 21 июля 20:51 /usr/bin/g++ -> llvm-g++-4.2

Вероятно, вы можете удалить эти переменные среды без особого вреда.

person timwoj    schedule 23.07.2011
comment
Для тех, кто не знает, чтобы получить gcc в /usr/bin, вам нужно установить Xcode 4.1, и если вы сделаете это из App Store, обязательно выберите правильный установщик Xcode (у вас может быть версия 3.x установщик для Snow Leopard). - person Bjorn; 14.08.2011
comment
Я установил Xcode 4.3.1 из App Store на Lion, и мне пришлось перейти в «Настройки» -> «Загрузки» -> «Компоненты» и установить инструменты командной строки, чтобы получить gcc в /usr/bin. - person Lukasz Wiklendt; 14.03.2012
comment
Лукаш - спасибо! Только что потратил около часа, пытаясь понять, почему RVM доставляет мне столько хлопот при простой установке. Инструменты командной строки не устанавливаются по умолчанию. Потерпеть поражение! - person adam reed; 19.06.2012
comment
При компиляции или установке некоторых модулей Python вам понадобится более старый компилятор fortan (gfortan), чтобы переопределить лев (XCode) по умолчанию. В противном случае Лев подкрадется к вам с коварными математическими ошибками в таких модулях, как numpy, scipy и, возможно, pandas. А для scipy вам могут понадобиться дополнительные директивы env, такие как: CXX=clang++ && FFLAGS=-ff2c, чтобы все прошло гладко. - person hobs; 31.10.2012

Компилятор по умолчанию для Lion теперь llvm-gcc-4.2, хотя стандартный выбор (gcc-4.2, llvm-gcc-4.2, clang) остается неизменным по сравнению со Snow Leopard. Попробуйте прочитать Использование правильного компилятора.

person Chris Mowforth    schedule 30.07.2011