Un tercero me proporcionó una lib estática (.a) para enlazar con la estación de Solaris. Intenté compilar con sunpro y fallé en el paso de enlace.¿Hay alguna manera de saber qué compilador generó una biblioteca estática?
Supongo que el problema proviene del compilador que uso (¿gcc?) O simplemente su versión (ya que la biblioteca estándar proporcionada por el compilador podría cambiar de la versión esperada por la biblioteca AFAIK podría provocar errores en el enlace paso).
¿Cómo podría saber qué compilador se utilizó para generar esta lib? ¿Hay algunas herramientas haciendo eso? Alguna opción en sunpro/gcc o lo que sea?
A modo de sugerencia: He leído hace algún tiempo que los compiladores utilizan diferentes convenciones mangling al generar archivos de objetos (verdad?). Aún así, "nm --demangle" línea de comandos me imprime todos los nombres de funciones de los símbolos de depuración en esta lib estática. Como funciona ? Si mi suposición es correcta, nm tiene una manera de resolver qué convención está en uso en una biblioteca estática, ¿no? ¿O simplemente significa que lib fue generado por GNU gcc, ya que nm es parte de los binutils de GNU?
No estoy cerca de mi estación de trabajo así que no puedo copiar & pasta de salida de error del enlazador (no por el momento, pero podría copiarlos en una edición más)
¿Por qué no le preguntas al "tercero" que suministró la biblioteca las instrucciones sobre cómo usarla? –
les pregunté. Pero ninguna respuesta de su equipo de soporte, que es reacio a preguntarle al equipo de desarrollo, parece ...:/ –