Estoy en Yosemite y tratando de compilar un paquete de software utilizando g++
. La elaboración de este paquete en particular ha trabajado anteriormente en la Montaña de Lion en virtud de Xcode 4.6.3, pero ahora tengo Xcode 6.1.1, y el programa no compilará. Por esta razón, me gustaría ser capaz de cambiar entre diferentes versiones de Xcode. Debo decir que estoy trabajando exclusivamente con las herramientas de línea de comandos (CLT), make
, g++
y el como. Ahora he instalado una versión anterior de Xcode, 4.6.3, por lo que la situación es la siguiente:
- /Aplicaciones/Xcode.aplicación: la actual versión de Xcode 6.1.1
- /Aplicaciones/Xcode4.6.3/Xcode.aplicación: antes de la versión de Xcode, 4.6.3
Yo estaba pensando en cambiar entre estos dos usando sudo xcode-select -s PATH
. Como lo que puedo decir, este comando funciona, y puedo comprobar el resultado con el uso de sudo xcode-select -p
. Además, tengo El instalado en /usr/bin
, de manera que, por ejemplo, which g++
muestra /usr/bin/g++
. Aún así, si me cambio a la antigua versión de Xcode, el paquete no se compilará. Curiosamente, encontrar debajo de la salida de g++ -v
para las dos diferentes versiones de Xcode:
Para Xcode 6.1.1:
g++ -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
Para Xcode 4.6.3:
g++ -v
couldn't understand kern.osversion `14.1.0'
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Así que mis preguntas son:
¿Qué significa el mensaje couldn't understand kern.osversion 14.1.0
referencia? Es esto algo que debería estar preocupado?
¿Por qué se siguen mostrando
--prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2
en la salida de g++ -v
después de seleccionar la versión anterior, que apunta a que el nuevo paquete de Xcode, aunque he cambiado la ruta utilizando Xcode sudo xcode-select -s PATH
?
¿Cuál es tu forma preferida de tener varias versiones de Xcode, cada uno con su propio conjunto de Ct, instalado en el mismo tiempo?
Sería genial si alguien pudiera aclarar las cosas.