Я не понимаю, почему DUMPBIN возвращается x64 при выполнении следующих действий в командной строке Студии СЦЕНЫ:DUMPBIN отчетности неправильной целевой архитектуры для статической библиотеки
dumpbin libgmp.lib /HEADERS |more
Это библиотека GMP составлен под Cygwin 32-битную версию , со следующей конфигурацией сборки:
./configure --host=i386 ABI=32
Система сборки скомпилировала и построила все файлы успешно для указанного хоста. Тем не менее, dumpbin все еще сообщает, что .a или .lib для 64-битных архитектур.
Обратите внимание, что выходная статическая библиотека - это libgmp.a, но я изменил ее расширение на .lib и связал его с моим проектом Visual Studio без проблем.
Другое важное примечание. Связывание libgmp.lib с 32-разрядными программами в порядке и создает файл PE32, как сообщает CFF Explorer.
Является ли это ошибкой интерпретации свалки, или я пропускаю что-то нездоровое?
Действительно ли 'файл' говорит 64 или 32-битный? –
Это файл: 'libgmp.a: current ar archive' – MyNameIsUser
Ну, это менее полезный вывод, чем можно было бы надеяться. Попробуйте 'objdump -f libgmp.a'. –