Estoy tratando de 'importar' mi base de código C++ existente en mi proyecto XCode iOS.Obtención de XCode para incluir, compilar y vincular código base existente (C++) en XCode 4.3 (.1)
El problema es que xCode no compilará (y por lo tanto no vinculará) mi código. Esto es lo que he hecho hasta ahora:
- Archivo> Agregar archivos a "Proyecto". No marque "Copiar archivos" ya que es una base de código compartida para varias plataformas y no es posible realizar varias copias del código fuente.
- Agregué la ruta adecuada a la configuración del proyecto "Ruta de búsqueda de encabezado". Al incluir trabajos de encabezado, puedo #incluir "stuff.h" de mi archivo Objective-C++ (.mm).
Sin embargo, no encuentro ninguna forma de decirle a XCode que compile los archivos .cpp?
Unos pocos puntos:
- No estoy buscando una manera de comprobar la validez compilarlo en una biblioteca y la vinculación de esa manera
- El proyecto es un proyecto de Objective-C estándar de iOS. El código C++ que se llama de ella (que no es un problema)
actualización
He añadido el directorio de base de código a la diana "Fuentes Compilar". De hecho, tengo que hacer clic en "Agregar otro ..." en el cuadro de diálogo que aparece, ya que no puedo seleccionar la referencia del directorio a mi base de código.
Cuando lo agrego, XCode me pregunta si quiero "Crear un proyecto de sistema de compilación externo". Lo dejo marcado y los dos campos con los valores predeterminados "/ usr/bin/make" y "$ (ACTION)". Sin embargo, mi base de código no se compila durante la compilación. ¿Tengo que escribir mi propio Makefile?
Si no selecciona "Crear proyecto del sistema de acumulación externa", entonces una referencia directorio se crea en el marco del objetivo, pero no compilados durante la construcción y una advertencia se emite:
warning: no rule to process file '$(PROJECT_DIR)/../codebase'
of type folder for architecture i386
El objetivo (tener solo uno) está marcado en Agregar a destinos. – olafure
¿Tiene sus archivos cpp enumerados en ** Fuentes de compilación **? Si no, ¿has intentado agregarlos? – sch
Estamos llegando :) Si agrego un solo archivo .cpp, se incluye en la compilación. Sin embargo, si selecciono el directorio completo (vea mi pregunta actualizada), nada se construye. Prefiero no seleccionar todos mis archivos .cpp de gazillion manualmente (incluir rutas sería incorrecto y un infierno adicional para tener que agregar/eliminar archivos manualmente en el futuro) – olafure