eine statische C ++ Bibliothek Verknüpfung von gcc mit einem Programm von xlC zusammengestellt gebaut?

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

  •  30-09-2019
  •  | 
  •  

Frage

Ich habe eine dritte Partei statische Bibliothek, die auf AIX mit gcc gebaut wurde. Als ich um eine Verknüpfung zu dieser Bibliothek versuchen, den xlC AIX-Compiler ich alle möglichen ungelösten Symbole erhalten. Ich glaube, dass es um die Unterschiede in der Namensverkürzung zurückzuführen ist. Wenn ich die manged Namen aus der Bibliothek mit dem Befehl nm erhalten, ist es etwas grundlegend falsch mit dem Aufbau der binären mit dem xlC Compiler vorausgesetzt, sie kann die Symbole finden es wünscht? Welche Schwierigkeiten bin ich fragen?

War es hilfreich?

Lösung

Dies wird sehr wahrscheinlich nicht funktionieren; finden Sie in der C ++ FAQ Lite Frage dazu.

C ++ ist viel komplizierter als C, und es gibt viele weitere Dinge, die nicht kompatibel sind.

Für ein paar Beispiele ist die Ausnahmebehandlung kompatibel? Objekte, die in der gleichen Art und Weise werden die Daten angelegt (in C ist die Reihenfolge wie aufgeführt, aber in C ++ kann mit Zugriffsbezeichner variieren)? Funktionieren die vtables gleich? Wie wird dynamic_cast behandelt?

Der Unterschied im Namen Mangeln wird Ihnen von Verknüpfung zu stoppen, aber es gibt viele andere Unterschiede, die Sie beißen können.

Sie sind wahrscheinlich besser dran, die Version von gcc sie taten. Das ist, was ich in einem ähnlichen Projekt zu tun hatte einmal.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top