Visual Studio 2005 を使用して、Windows API を使用して UDP データグラムを送信し、サードパーティ プログラムにフックする単純な DLL を C で作成しました。この場合、サードパーティのコードは 64 ビット用にコンパイルされているため、64 ビット マシンではまったく機能しません。そのため、同じ DLL の 2 つのバージョンを出荷する必要があります。1 つは 32 ビット用、もう 1 つは 64 ビット用です。
ただし、Visual Studio (32 ビット マシンで実行中) から 32 ビット バージョンと同一ではない DLL を吐き出すことができませんでした。プロジェクト プロパティの「マシン」設定が単純に無視されているようです。同僚から、VS 2008 はこのシナリオでのクロスコンパイルを単に拒否すると言われました。これは本当にまったく不可能ですか?