【发布时间】:2017-05-20 08:59:02
【问题描述】:
.386
.model flat, c
.stack 100h
printf PROTO arg1:Ptr Byte
.data
msg1 byte "Hello World!", 0Ah, 0
.code
main proc
INVOKE printf, ADDR msg1
ret
main endp
end main
您好,我收到以下错误:
搜了一圈,发现有人说可以通过链接microsoft运行时库来修复
谁能教我如何准确修复它?
谢谢
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol _printf referenced in function _main testing C:\Users\Kin\Desktop\assembly\testing\testing\Source.obj 1
Error LNK1120 1 unresolved externals testing C:\Users\Kin\Desktop\assembly\testing\Debug\testing.exe 1
【问题讨论】:
-
虽然这个其他答案是在考虑 VS 2015 的情况下编写的,但它很可能适用于 VS 2017:stackoverflow.com/questions/33721059/…。有几个可能的解决方案的答案。
-
你好Michael,我已经阅读了帖子并尝试了上面提到的三种方法,但在2017版本上不起作用,我什至无法更改为2013 v120,使用第二种和第三种方法,我可以成功编译,但是当我打开exe文件时实际上什么也没发生~
-
我很好奇。如果您按原样获取代码(没有任何更改)并编译它运行时的结果是什么?该代码在此答案中:stackoverflow.com/a/33725587/3857942。我只是问,因为我还没有在系统上折腾 VS 2017。
-
嗨,当我使用 includelib libcmt.lib、libvcruntime.lib、libucrt.lib、legacy_stdio_definitions.lib 复制代码并编译时,它显示错误“LNK1120 1 unresolved externals Win32Project1”“LNK2019 unresolved函数“int __cdecl __scrt_common_main_seh(void)”(?__scrt_common_main_seh@@YAHXZ) Win32Project1"中引用的外部符号_WinMain@16
-
当我在附加依赖项中添加 wcrt.lib 并在不更改代码的情况下编译时,它显示错误“1 unresolved symbol”,“unresolved external symbol _WinMain@16referenced in function _WinMainCRTStartup”
标签: visual-studio assembly x86 masm msvcrt