la vinculación de una biblioteca de C ++ estática construida por gcc con un programa compilado por xlC?

StackOverflow https://stackoverflow.com/questions/4148769

  •  30-09-2019
  •  | 
  •  

Pregunta

Tengo una tercera biblioteca estática partido que fue construido en AIX con gcc. Cuando trato de enlace a esa biblioteca utilizando el compilador xlC AIX consigo todo tipo de símbolos sin resolver. Creo que se debe a las diferencias en nombre de calandrado. Si consigo los nombres manejadas fuera de la biblioteca con el comando nm ¿hay algo fundamentalmente equivocado en la construcción de la binario con el compilador xlC siempre que pueda encontrar los símbolos que está buscando? ¿Qué problemas Estoy pidiendo a?

¿Fue útil?

Solución

Esto es muy probable que no funcione; ver el C ++ Faq Lite consulta sobre este.

C ++ es mucho más complicado que C, y hay un montón de cosas adicionales que podrían no ser compatibles.

En algunos ejemplos, es el manejo compatibles excepción? los datos son objetos dispuestos en la misma forma (en C, la orden es como aparece, pero en C ++ que puede variar con especificadores de acceso)? ¿Los vtables funcionan de la misma? ¿Cómo se maneja dynamic_cast?

La diferencia en el nombre mangling le impide vincular, pero hay muchas otras diferencias que pueden morder.

Usted es probablemente mejor usar la versión de gcc que hicieron. Eso es lo que tenía que hacer en un proyecto similar una vez.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top