2012-08-29 22 views
6

Mi historia de usuario: Quiero cargar una textura en mi programa openGL.xcode 4.0.2 Errores de enlace de biblioteca SOIL (OSX 10.6.8)

Mi pregunta: ¿Cómo se vincula la biblioteca SUELO adecuadamente en Xcode 4.0.2

Por lo tanto, he estado buscando en Google en los últimos días con respecto a mis advertencias del vinculador en xcode4, y soy incapaz de responder a ella de yo mismo, así que me atrevo a publicar otro hilo sobre el tema ... (un principiante humilde mete la cola entre las piernas).

Mis pelado-hueso pasos para reproducir:

  1. descomprimir el 'simple OpenGL Image Library' a mis descargas
  2. que arrastrar/soltar libSOIL.a a mi archivo de proyecto

    • En 'Fases de compilación', libSOIL.a se agrega automáticamente a 'Enlace binario con bibliotecas'
    • En 'Configuración de compilación', las Rutas de búsqueda de mi biblioteca también se actualizan automáticamente
    • mis Arquitecturas válidos ya se especifique "x86_64 i386"

consigo este aviso cuando trato de ejecutar mi programa:

ld: aviso: ignorando archivo/Users/de Scott/desarrollador/Proyectos/SpaceRanger/Code/Production/lib/libSOIL.a, el archivo se creó para el archivo que no está vinculado a la arquitectura (x86_64)

Como mencioné, soy bastante nuevo en programación e IDE en general, por lo que Esperaba que un enfoque más simple para cargar texturas en OpenGL (por ejemplo, SUELO) sería favorable para SDL o incluso GLFW para ese asunto. Si tengo este tipo de problemas para cargar solo una biblioteca, estos deben estar absolutamente fuera de mi alcance.

Otro Hit n' señorita intentos basados ​​en la búsqueda:

  • adición de la biblioteca a 'Compilar Fuentes' sólo genera más advertencias
  • alternar 'Construir activa la arquitectura sólo' sí/no
  • esquemas de ajuste a 32 y 64 bit
  • escribiendo mi propio cargador de texturas, empleando libjpg/DevIL/etc.

Me temo que estoy empezando a destruir mi proyecto simplemente tratando de vincular esta biblioteca. Si alguien pudiera ayudarme a vincular la biblioteca SOIL correctamente en xcode 4.0.2, estaría eternamente agradecido.

Muchas gracias de antemano.

-kropcke

+0

actualización: en la carpeta SOIL, donde verá algunas imágenes de prueba y una carpeta lib y src y algunas otras, cree una nueva carpeta llamada obj. Luego navegue a proyectos/makefile. En allí debe haber el archivo MAKE. Tendrá que hacer una pequeña modificación en él, ábralo en TextEdit (o lo que sea) y modifique la línea que dice: – kropcke

+0

OBJDIR = obj para que diga: OBJDIR = ../../ obj y guárdelo – kropcke

+0

A continuación, inicie Terminal. En Terminal, escriba cd, luego arrastre el directorio makefile a Terminal y presione return. Para asegurarte de que estás en el directorio correcto, si escribes ls y regresas deberías obtener "makefile makefile.txt alternativo". Luego escribe make y return y hará algo de compilación. La nueva lib compatible con Mac debería estar ahora en el directorio lib. – kropcke

Respuesta

5

me gustaría añadir a esto, es conducido me vuelve loco durante estos últimos días. Además de todo lo anterior, tuve que asegurarme de lo siguiente.

En Proyecto> Objetivo> Construir Fases, bajo 'Compilar Sources', tienen que añadir los archivos .c SUELO:

image_DXT.c, image_helper.c, SOIL.c, stb_image_aug.c.

Solo ahora se compilaría y se ejecutaría.

// no estoy seguro de por qué downvote, agradecería la razón!

+0

Sí, estaba revisando algunas de mis publicaciones más antiguas: ¿por qué se ha votado negativamente? Sin razón, es tan arbitrario como grosero. (Por cierto, gracias por la adición cilk :) – kropcke

Cuestiones relacionadas