Visual Studio 2012 32-битная компиляция на 64-битной системе

Недавно я хотел создать плагин DLL для программы. Проблема в том, что программа 32-битная, но по умолчанию мой компилятор C ++ для Visual Studio 2012 создает 64-битные двоичные файлы, и я не знаю, как это изменить — я нашел Configuration Manager и попытался создать новую платформу, но есть только x64 как вариант.

Я пытаюсь установить целевую архитектуру в неправильном месте или как? Есть ли обновление или что-то, что я могу скачать, чтобы я мог создать свою DLL? Есть ли переключатель компилятора, который я могу установить где-нибудь?

Надеюсь, что этот экран помогает:

введите описание изображения здесь

2

Решение

Чтобы построить 32-битную архитектуру, вы должны открыть окно свойств проекта, а затем параметры компоновщика.

Задайте для параметра «Целевая машина» значение MachineX86.

2

Другие решения

  • Проверьте конфигурацию сборки (Build -> Configuration Manager) и убедитесь, что выбран ваш проект DLL для 32-битной системы.
  • Проверьте настройки компоновщика и убедитесь, что указан правильный путь.
  • После сборки убедитесь, что .DLL создается по правильному пути и является 32-битным (должно быть!).

Вы можете использовать Dependency Walker, чтобы проверить, является ли DLL 32-битной или 64-битной.
Вы также не упомянули, если /clr опция используется с этой DLL или нет. С /CLR, управляемый двоичный файл производится. Хотя эта опция не изменится бит-Несс из двоичного файла, вы можете просто проверить, если это так.

1