Как кросс-компилировать 64-битную DLL с VS 2005 на 32-битном компьютере?
-
22-07-2019 - |
Вопрос
Используя Visual Studio 2005, я написал простую DLL на C, которая использует Windows API для отправки дейтаграмм UDP и подключена к сторонней программе. На 64-битной машине он вообще не работает, так как в этом случае сторонний код был скомпилирован для 64-битной версии. Поэтому мне нужно отправить две версии одной и той же DLL - одну для 32-битной, другую для 64-битной.
Однако мне не удалось заставить Visual Studio (работающую на 32-разрядной машине) выплевывать библиотеку DLL, которая не идентична 32-разрядной версии - кажется, что параметр "machine" в свойствах проекта просто игнорируется , Коллега сказал мне, что VS 2008 просто отказывается от кросс-компиляции в этом сценарии. Неужели это вообще невозможно?
Решение
Щелкните правой кнопкой мыши проект в обозревателе решений, затем перейдите в Свойства / Диспетчер конфигурации / Платформа Active Solution: <New...>
/ x64 / OK / Закрыть. Затем выберите x64 в платформе, и все готово.