2009-06-25 9 views
1

En utilisant Visual Studio 2005, j'ai écrit une DLL simple en C qui utilise l'API Windows pour envoyer des datagrammes UDP et qui est accroché dans un programme tiers. Sur une machine 64 bits, cela ne fonctionne pas du tout, car le code tiers a été compilé pour 64 bits dans ce cas. J'ai donc besoin d'expédier deux versions de la même DLL - une pour 32 bits, une pour 64 bits.Comment cross-compiler 64 bits DLL avec VS 2005 sur l'ordinateur 32 bits?

Cependant, je n'ai pas réussi à obtenir Visual Studio (fonctionnant sur une machine 32 bits) pour cracher une DLL qui n'est pas identique à la version 32 bits - il semble que le paramètre 'machine' dans les propriétés du projet est simplement ignoré. Un collègue m'a dit VS 2008 refuse tout simplement de compiler les données croisées dans ce scénario. Est-ce vraiment pas possible du tout?

Répondre

3

Cliquez avec le bouton droit de la souris sur le projet dans l'Explorateur de solutions, puis sélectionnez Propriétés/Gestionnaire de configuration/Plate-forme de solution active: <New...>/x64/OK/Fermer. Ensuite, sélectionnez x64 dans Platform, OK, et vous êtes prêt à partir.

+0

Cela fonctionne, même si je suis sûr d'avoir fait exactement la chose précédente. Quoi qu'il en soit, merci! –

Questions connexes