Я использую Visual Studio 2010 Premium.У меня есть два проекта A и B, и я пытаюсь скомпилировать оба на 64-битную платформу.
Проект A выводит файл .dll и .lib, на который опирается проект B.
Я уже успешно скомпилировал проект A в64-разрядная платформа, но при компиляции проекта BI появляется следующая ошибка:
mfcs100d.lib (nolib.obj): фатальная ошибка LNK1112: тип компьютера модуля 'X86' конфликтует с типом компьютера назначения'x64'
В чем может быть проблема?Я на самом деле не знаю, что это за файл mfcs100d.lib.
Я использовал «Ходок зависимости» для файла DLL проекта А, и, похоже, он полагается исключительно на 64-битные файлы DLL.Кроме того, я зашел в Проект B (Страницы свойств -> Свойства конфигурации -> Компоновщик -> Дополнительно) и подтвердил, что для «Target Machine» установлено значение «MachineX64».Кроме того, в Configuration Manager для платформы установлено значение x64.
Кто-то сообщил мне, что проблема может быть такой:
Переход к проекту B (Страницы свойств -> Свойства конфигурации -> C \C ++ -> Preprocessor -> Preprocessor Definitions) У меня есть следующие значения:
WIN32
_DEBUG
_WINDOWS
_AFXEXT
Это действительно связано?Должен ли я заменить значение «WIN32»?если так, то как?Я не очень понимаю значение этих определений и как их изменить.
Редактировать: Я только что понял, что, вероятно, это не связано вообще.Это просто определения для препроцессора, например, те, которые могут быть определены командой C ++ #define.И все же я могу ошибаться.