Objektdateien verschiedener Compiler linken
-
Hi All,
ist es möglich mit Bloodshed Dev C++ ein Executeable zu erzeugen wenn eine der Objektdateien mit Visual C++ Express erzeugt wurde?
Gruß Ronny
-
In der Regel funktioniert das nicht, da beim Linken Symbole (interne Bezeichner für Variable, Funktionen, Sektionen ...) erzeugt werden und diese Compiler-spezifisch sind.
-
Bloodshed C++ sollte inzwischen forenweit zensiert werden... um dennoch darauf einzugehen: Klar geht das, aber du musst dir bewusst sein, was du tust. Wenn du es hinbekommst, dass alle Compiler Object-Files im gleichen Format erzeugen, kannst du theoretisch einen Linker benutzen, welcher alle Object-Files frisst und daraus ein Binary erzeugt.
Ich habe z.B. auch nasm (Netwide Assembler) so konfiguriert, dass er zu Visual C++ x64 kompatibel wurde. In der Praxis darfst du aber keine Wunder erwarten. Klassen und Objekte gehen in der Regel rauchen, ausser du magst extrem komplexe Linker-Skripte (Kategorie A: C++ im Kernel. Kategorie B: C++ mit verschiedenen Compilern ;)). Was du verwenden kannst sind dann Funktionen mit
extern "C", aber dann ist dann schon bald Ende Feuer.:xmas1:
-
/rant/ schrieb:
Bloodshed C++ sollte inzwischen forenweit zensiert werden... um dennoch darauf einzugehen: Klar geht das, aber du musst dir bewusst sein, was du tust. Wenn du es hinbekommst, dass alle Compiler Object-Files im gleichen Format erzeugen, kannst du theoretisch einen Linker benutzen, welcher alle Object-Files frisst und daraus ein Binary erzeugt.
Ich habe z.B. auch nasm (Netwide Assembler) so konfiguriert, dass er zu Visual C++ x64 kompatibel wurde. In der Praxis darfst du aber keine Wunder erwarten. Klassen und Objekte gehen in der Regel rauchen, ausser du magst extrem komplexe Linker-Skripte (Kategorie A: C++ im Kernel. Kategorie B: C++ mit verschiedenen Compilern ;)). Was du verwenden kannst sind dann Funktionen mit
extern "C", aber dann ist dann schon bald Ende Feuer.Vergiss es.
-
... was ich mich am meisten Frage, ist wozu das jmd. brauchen könnte???