Сначала проверьте Configuration Manager (Build> Configuration Manager ...), чтобы убедиться, что вы строите все свои проекты для одной и той же платформы.
Если это не помогает, то из VisualКомандная строка Studio (доступна из меню «Пуск») позволяет использовать dumpbin
для определения архитектуры файлов .lib и .obj, выполнив следующие действия:
C:\Foo> dumpbin /headers Foo.lib | more
Microsoft (R) COFF/PE Dumper Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file Foo.lib
File Type: LIBRARY
FILE HEADER VALUES
14C machine (x86)
3 number of sections
4C6CB9B6 time date stamp Wed Aug 18 21:57:26 2010
113 file pointer to symbol table
8 number of symbols
0 size of optional header
100 characteristics
32 bit word machine
Первая строка под значениями заголовкаговорит вам, для какой архитектуры был скомпилирован .lib / .obj (в данном случае x86).
Если у вас много связанных промежуточных продуктов, вы можете немного автоматизировать это, просто найдя x86 (или x64)) файлы:
for /R %f in (*.obj *.lib) do @echo %f && dumpbin /headers %f | findstr /c:"machine (x86)"