gcc - generate - preference name
¿Cómo construyo una herramienta de línea de comando que vincule con el SDK de iPhone Simulator? (1)
¿Por qué diablos querría hacer eso? El OpenGL Shader Builder es una gran herramienta de desarrollo, pero compila sombreadores que usan OpenGL de escritorio, lo que permite algunas cosas que ES no ofrece. Me imagino que si puedo crear una herramienta que vincule con el OpenGLES.framework en el iPhone Simulator SDK, puedo obtener algunos informes de errores sin tener que compilar / instalar / ejecutar mi aplicación.
Al inspeccionar las líneas de comando que aparecen en la ventana de construcción de Xcode, llegué hasta aquí (en formato Makefile, para mayor claridad. ¡En serio!):
ARCH=i386
PLATFORM=/Developer/Platforms/iPhoneSimulator.platform/Developer
GCC=$(PLATFORM)/usr/bin/gcc-4.2
ISYSROOT=$(PLATFORM)/SDKs/iPhoneSimulator3.2.sdk
glsllint: glsllint.c
$(GCC) -arch $(ARCH) -isysroot $(ISYSROOT) -mmacosx-version-min=10.5 -framework OpenGLES /
glsllint.c -o glsllint
El archivo C en sí mismo es mínimo; solo contiene una llamada a glCreateShader()
, para que pueda saber si se está enlazando correctamente. Lo anterior produce un ejecutable, pero cuando intento ejecutarlo:
dyld: Library not loaded: /System/Library/Frameworks/OpenGLES.framework/OpenGLES
Esa es la ubicación incorrecta. ¿Cómo lo hago para que el ejecutable busque el marco en la ubicación correcta?
Sé que esto no es compatible, pero maldición, ¿no sería genial si funciona? Para que quede claro, no espero que este programa dibuje nada, solo quiero cargar el código fuente del sombreador, usar OpenGL para compilarlo e imprimir los errores, si los hubiera.
En este momento, la pregunta es, ¿puedo producir un ejecutable que se ejecute?