2012-03-30 4 views
0

Wir haben eine Menge kompilierter C++ - Tools einschließlich einiger statisch verknüpfter C++ - Bibliotheken. Wir hatten einige libs erweitert und natürlich neu kompiliert -> jetzt sind die neueren DLLs nicht kompatibel mit den älteren C++ Tools!Name fehlt in vorhandenen Bibliotheken - Konflikt

Fehler:

[email protected]@[email protected]@[email protected] could not be located in the dynamic link library IFX_CC_RegTestBase.dll

Gibt es eine Möglichkeit, diesen Namen ohne Neukompilierung unsere Werkzeuge (es gibt Hunderte von ihnen) Mangeln zu ignorieren?

Antwort

0

Wahrscheinlich nicht. Verschiedene C++ - Compiler (und manchmal verschiedene Versionen desselben Compilers) verwenden unterschiedliche Namen-Mangling-Schemata, und in gewisser Weise ist dies ein Sicherheitsmechanismus. Neben einem Namen-Mangling-System gibt es Laufzeitmechanismen, die für einen bestimmten Compiler einzigartig sind und die auch nicht kompatibel sind: zum Beispiel den Versand virtueller Methoden. Die Tatsache, dass diese nicht verlinkt werden, bewahrt Sie wahrscheinlich vor dem Erstellen einer ausführbaren Datei, die einfach abstürzen und brennen würde.

Verwandte Themen