LNK1104 при использовании MASM 64bit - PullRequest
0 голосов
/ 19 сентября 2018

В настоящее время я пытаюсь изучить сборку для Windows x64.Я попробовал пример кода с этого веб-сайта Intel , но всякий раз, когда я пытаюсь скомпилировать его с помощью команды, приведенной в документе:

ml64 hello.asm /link /subsystem:windows /defaultlib:kernel32.lib /defaultlib:user32.lib /entry:Start

, я всегда получаю

LNK1104 error

Я знаю, что это означает, что компилятор не может найти файл библиотеки, я погуглил проблему и быстро обнаружил, что мне нужен Visual Studio с Windows SDK, который я скачал и установил,Но по-прежнему не удается найти kernel32.lib или user32.lib ни в каких файлах, кроме системных файлов Windows.

Я попробовал все, и я просто не могу это исправить.Я надеюсь, что кто-то может помочь понять это.

1 Ответ

0 голосов
/ 19 сентября 2018

Доступен известный MASM32 SDK , созданный hutch--.Этот пакет содержит запрошенные библиотеки в (устаревшей) 32-разрядной версии.

Но есть также 64-разрядное обновление этого известного пакета от hutch -:
Текущая сборка64-битный MASM SDK .
Он должен содержать необходимые файлы .inc и .lib и многое другое ...

Это текущая сборка 64-битного MASM SDK.,Это намного ближе к завершению, и с добавлением правильных двоичных файлов Microsoft, он способен создавать широкий спектр типов приложений.Его можно использовать двумя различными способами, он должен быть разархивирован из корневого каталога раздела, на котором он устанавливается.Вы можете либо добавить его вручную в установку MASM32 SDK, либо установить его на раздел, на котором нет MASM32, и просто переименовать каталог buildx64 в MASM32.Установка его в другом разделе является предпочтительным способом, поскольку QE имеет свои меню и аксессуары, настроенные для создания 64-битного кода.

Вам все еще нужно добавить двоичные файлы Microsoft, которые обычно бывают из установки vs2017 или изболее ранняя версия для Win7 64. В каталоге bin64 есть файл с именем «Microsoft_File_List.txt», который показывает нужные вам файлы.Список взят из текущей версии Visual Studio 2017, и если это версия, которую вы используете, используйте ML64 из каталога "x86_amd64", размер которого составляет 402 584 байта.

В каталоге "buildx64" находитсяпакетный файл с именем "makeall.bat".Это необходимо выполнить, чтобы собрать все библиотеки и включить файлы.

Они являются золотым стандартом разработки сборок Windows.

...