2012-04-29 11 views
5

Me gustaría instalar el último compilador clang (3.1) usando macports (yo uso emacs en lugar de xcode, y la versión de clang que viene con xcode es más antigua de todos modos). macports parece tener las últimas versiones de gcc, pero cuando ingreso "port list clang" la única versión que aparece es 2.9. Utilizo las características de C++ 11, así que quiero usar la última versión.¿Cómo instalar clang 3.1 usando macports? (OSX, leopardo de las nieves)

Estoy ejecutando leopardo de las nieves en un MBP.

Respuesta

9

Clang tiene varias versiones diferentes disponibles en MacPorts:

$ port search clang 

clang @2.9 (lang) 
    C, C++, Objective C and Objective C++ compiler 

clang-2.9 @2.9 (lang) 
    C, C++, Objective C and Objective C++ compiler 

clang-3.0 @3.0 (lang) 
    C, C++, Objective C and Objective C++ compiler 

clang-3.1 @3.1-r154872 (lang) 
    C, C++, Objective C and Objective C++ compiler 

clang-devel @3.0 (lang) 
    C, C++, Objective C and Objective C++ compiler 

clang_select @0.1 (sysutils) 
    common files for selecting default clang version 

Found 6 ports. 

Así que si usted acaba de instalar el puerto clang, que va a instalar la versión 2.9. Si desea 3.1, instale el puerto clang-3.1. También puede instalar clang_select, que es una utilidad que le permite cambiar fácilmente entre varias instalaciones de Clang; sin él, debe especificar manualmente la versión del binario Clang que desea cada vez.

+0

Gracias. Supongo que estaba confundido porque "list" muestra todas las diferentes versiones de gcc, pero no de clang. – daj

+0

¿Cómo puedo usar la utilidad clang_select? Parece que no puedo encontrarlo ... –

+0

@BarnabasSzabolcs: Aparentemente es un subcomando secreto de 'port'-eliges una versión de Clang para ejecutar con el comando' port selection --set clang '(y puedes listar las versiones disponibles con 'port select --show clang'). –

1

Sólo especifique el número de versión: port list clang-3.1

funcionó bien para mí. Estoy en Lion, pero no veo por qué eso haría la diferencia.

Cuestiones relacionadas