Как решить ошибку LNK1112 при преобразовании проекта x86 в x64? - PullRequest
0 голосов
/ 20 марта 2020

Я преобразую код x86 MF C dll в x64 в Visual Studio 2015 и получаю сообщение об ошибке:

. \ Debug \ FabricaPesquisa.obj: фатальная ошибка LNK1112 : тип машины модуля 'X86' конфликтует с типом машины назначения 'x64'

Я уже проверил целевую машину на компоновщике, и это правильно (MachineX64 (/ MACHINE: X64) ), мои «Дополнительные параметры» пустые (очевидно, неправильная информация здесь может вызвать ту же ошибку), Configuration Manager ссылается на правильную платформу, библиотеки добавлены в «Дополнительные зависимости» - это все x64 (я также пытался удалить их, но ошибка не изменилась).

Когда я использовал dumpbin в моем .obj файлов (как предложено в этом ответе ). Я заметил, что все они машинные (x86).

Я также выполнил шаги в этом ответе , делая убедитесь, что пути в «Исполняемых каталогах» ссылаются на x64 каталоги:

$ (VSInstallDir)

$ (VSInstallDir) bin

$ (VSInstallDir) bin \ x86_amd64

$ (WindowsSDK_ExecutablePath_x64)

Как я могу решить эту проблему?

Заранее спасибо и любые советы будут оценены!

1 Ответ

0 голосов
/ 20 марта 2020

В случае, если кто-то сталкивается с той же проблемой, по-видимому, я не обратил достаточного внимания на этот ответ и не понял, что порядок записей имеет значение,

для Для работы необходимо поместить $ (VCInstallDir) \ bin \ x86_amd64 перед $ (VCInstallDir) \ bin в Свойства проекта> Каталоги VC ++> Каталоги исполняемых файлов .

...