Come cross-compilare DLL a 64 bit con VS 2005 su computer a 32 bit?

Utilizzando Visual Studio 2005, ho scritto una semplice DLL in C che utilizza l’API di Windows per inviare datagrammi UDP e che è agganciata a un programma di terze parti. Su una macchina a 64 bit, non funziona affatto, in quanto il codice di terze parti è stato compilato per 64 bit in questo caso. Quindi ho bisogno di spedire due versioni della stessa DLL: una per 32 bit, una per 64 bit.

Tuttavia, non sono riuscito a ottenere Visual Studio (in esecuzione su una macchina a 32 bit) per sputare una DLL che non è identica alla versione a 32 bit – sembra che l’impostazione ‘macchina’ nelle proprietà del progetto sia semplicemente ignorata. Un collega mi ha detto che VS 2008 si rifiuta semplicemente di effettuare una compilazione incrociata in questo scenario. Non è davvero ansible?

Fare clic con il pulsante destro del mouse sul Solution Explorer, quindi su Proprietà / Configuration Manager / piattaforma Active Solution: / x64 / OK / Chiudi. Quindi seleziona x64 in Platform, OK, e sei a posto.