3 votos

Clasificación de errores de compilación cuando se utilizan múltiples diferentes versiones de Xcode

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.

1voto

Oskar Puntos 1242

Usted está en la mejor manera de manejar las cosas.

Tiene el script de compilación llamada xcode-select elegir el compilador y los encabezados de los que prefiere cada proyecto para compilar en contra. No he tenido ningún problema de tener tres versiones de Xcode corriendo de esa manera. (6, 7 y 7.1)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X