[C++] Portierung von unmanaged C++ nach C#
Verfasst: 14.10.2010, 18:30
hallo Leute,
hat jemand Erfahrung darin, eine unmanaged C++ Library auf C# zu portieren ?
Ich werkel seit fast 2 Tagen da rum und der Fehler-Reigen nimmt einfach kein Ende. Mein erster Ansatz war, das komplette DLL-Projekt für die Common Language Runtime zu bauen, und zusätzlich im gleichen Projekt eine Wrapper-Klasse zu implementerien. Nach endlosen Compiler- und Linkerfehlern hab ich mittlerweile "nur noch" 35 Warnings, und scheitere jetzt aber zur Laufzeit an einer System.BadImageFormatException, sobald ich meine Wrapper-Klasse instanziieren will.
Leider hab ich keine Ahnung, was den eigentlichen Fehler verursacht. Jetzt meine Frage:
Meine DLL hat ein ziemlich schlankes öffentliches Interface, das alle Funktionen in einer einzigen Klasse anbietet. Intern benutze ich aber relativ viel Zeugs, u.a. boost::Thread, boost::Serialisation, und auch von DirectX das XACT API für die Audio-Wiedergabe.
Kann diese BadImageFormatException durch eine dieser internen Komponenten verursacht werden, oder sollte das wurscht sein, solange die nicht öffentlich sind ? Sprich: Wenn ich das Problem behoben habe, besteht dann Grund zur Hoffung, dass der Rest relativ fix über die Bühne geht ? Oder kann da noch einiges mehr schief gehen ? MIr läuft momentan ein bisschen die Zeit weg, und ich bin nicht sicher, ob ich die Portierung erstmal auf Eis legen muss.
Für jeden Hinweis dankbar:
die alte frau ponx
hat jemand Erfahrung darin, eine unmanaged C++ Library auf C# zu portieren ?
Ich werkel seit fast 2 Tagen da rum und der Fehler-Reigen nimmt einfach kein Ende. Mein erster Ansatz war, das komplette DLL-Projekt für die Common Language Runtime zu bauen, und zusätzlich im gleichen Projekt eine Wrapper-Klasse zu implementerien. Nach endlosen Compiler- und Linkerfehlern hab ich mittlerweile "nur noch" 35 Warnings, und scheitere jetzt aber zur Laufzeit an einer System.BadImageFormatException, sobald ich meine Wrapper-Klasse instanziieren will.
Leider hab ich keine Ahnung, was den eigentlichen Fehler verursacht. Jetzt meine Frage:
Meine DLL hat ein ziemlich schlankes öffentliches Interface, das alle Funktionen in einer einzigen Klasse anbietet. Intern benutze ich aber relativ viel Zeugs, u.a. boost::Thread, boost::Serialisation, und auch von DirectX das XACT API für die Audio-Wiedergabe.
Kann diese BadImageFormatException durch eine dieser internen Komponenten verursacht werden, oder sollte das wurscht sein, solange die nicht öffentlich sind ? Sprich: Wenn ich das Problem behoben habe, besteht dann Grund zur Hoffung, dass der Rest relativ fix über die Bühne geht ? Oder kann da noch einiges mehr schief gehen ? MIr läuft momentan ein bisschen die Zeit weg, und ich bin nicht sicher, ob ich die Portierung erstmal auf Eis legen muss.
Für jeden Hinweis dankbar:
die alte frau ponx