2009-06-25 6 views
1

Mit Visual Studio 2005 habe ich eine einfache DLL in C geschrieben, die die Windows-API zum Senden von UDP-Datagrammen verwendet, die in ein Programm eines Drittanbieters eingebunden ist. Auf einer 64-Bit-Maschine funktioniert es überhaupt nicht, da der Fremdanbieter-Code in diesem Fall für 64 Bit kompiliert wurde. Also muss ich zwei Versionen der gleichen DLL liefern - eine für 32 Bit, eine für 64 Bit.Wie kompiliert 64-Bit-DLL mit VS 2005 auf 32-Bit-Computer?

Allerdings habe ich es nicht geschafft, Visual Studio (läuft auf einem 32-Bit-Rechner) zu spucken eine DLL, die nicht identisch mit der 32-Bit-Version ist - es scheint, die 'Maschine' Einstellung in den Projekteigenschaften ist einfach ignoriert. Ein Kollege hat mir gesagt, VS 2008 weigert sich in diesem Szenario einfach Cross-Compiling. Ist das überhaupt nicht möglich?

Antwort

3

Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer, und klicken Sie dann auf Eigenschaften/Konfiguration Manager/Aktive Projektmappe: <New...>/x64/OK/Schließen. Wählen Sie dann x64 in Platform, OK, und Sie können loslegen.

+0

Das funktioniert, obwohl ich ziemlich sicher bin, das genaue Ding vorher getan zu haben. Wie auch immer, danke! –