La declaración implícita de dlsym no es válida en c99

Tengo la importación requerida en el archivo. Estoy intentando importar un proyecto existente y compilarlo en Xcode (4.2). ¿Necesito incluir algo más?

enter image description here

preguntado el 10 de marzo de 12 a las 13:03

El código en /usr/include/dlfcn.h en Mac OS X Lion declara dlsym() incondicionalmente la única definición que evitaría que se declare es la protección del encabezado _DLFCN_H_ que está ahí para evitar daños si el archivo se incluye varias veces. No conozco lo suficiente el Objetivo C para saber si #import tiene cualquier otra connotación que #include lo hace, pero desde dlsym() y RTLD_SELF faltan, parece haber alguna diferencia clave. Busque archivos inesperados dlfcn.h que no sea en /usr/include. Si lo peor llega a ser peor, agregue #error I am ere al encabezado para asegurarse de que se utiliza. -

No pude encontrar ninguno dlfcn.h archivo en mi máquina o guardia _DLFCN_H_ en cualquiera de los archivos, que no sea esta declaración de importación #import <dlfcn.h>. No veo ningún archivo de este tipo en /usr/include ya sea. -

No poder encontrar el archivo es desconcertante. ¿Has intentado mirar debajo? /Developer? No encontré mucho allí (pero /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/dlfcn.h fue un hallazgo), pero tengo cosas (posiblemente viejas) en /usr/include. ¿Ha podido construir otros proyectos con éxito? -

El recursivo grep se está tomando su tiempo; Yo tambien encontre /Developer/SDKs/MacOSX10.7.sdk/usr/include/dlfcn.h y archivos similares para algunas otras versiones. -

@JonathanLeffler Ya está allí, no se pudo encontrar a través del buscador y el reflector. Este es mi primer comienzo con iOS, el primer proyecto que intento importar. -

1 Respuestas

Ambos errores se solucionaron adjuntando el método en:

#ifdef RTLD_SELF

      //initialize method

#endif

Tengo una pista de http://opensource.apple.com/source/dyld/dyld-45.1/unit-tests/test-cases/dlsym-RTLD_SELF/main.c?txt

respondido 13 mar '12, 01:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.