32 und 64Bit dll erstellen

LL0rd

Erfahrenes Mitglied
Hallo Leute,

ich möchte in c++ eine DLL erstellen, auf die ich aus C# heraus zugreife. So etwas ist ja idR kein Problem, solange man auf einer Plattform bleibt. Habe ich aber die c++ dll mit 32 Bit kompilliert und die Hostanwendung läuft auf 64 Bit, gibts einen Fehler - was auch klar ist.

Diesen Fehler möchte ich eigentlich umgehen, in dem ich einfach sowohl die 32 als auch die 64Bit Version der Datei bereitstelle.

Sorry, ich weiß es momentan nur vom Hörensagen, aber unter OS X werden die Anwendungen gleich für beide Plattformen kompilliert (bzw. gelinkt), so kann eine Exeutable sowohl unter 32 Bit als auch unter 64 laufen. Beim Programmstart entscheidet dann das OS, was nun genommen wird.

Geht so etwas auch unter Win? Und wenn ja, dann wie?
 
Hallo,

du köntest vorher 2 dll's + libs erstellen.

Per
#if
und
#pragma
dann je nach Bit-Zahl des Programms die verschiedenen libs hinzulinken.

dann kanste ganz normal das Programm für beide Bit-Zahlen erstellen.

Gruß
Anfänger
 
Ähm, wenn du C# kannst - warum setzt du es nicht in C# um?
Da ist das kein Problem:

Wenn du VS benutzt(so mag es womöglich auch unter Visual C++ funktionieren) kannst du auf das projekt in dem sich die DLL bzw. Die Klasse die ein DLL werden soll Rechtsklicken, dann auch Eigenschaften(Properties). Da dann auf Build und dort im Platform Target: "x86", "x64", "any CPU" auswählen.
 
Zurück