鱼C论坛

 找回密码
 立即注册
查看: 4176|回复: 17

[已解决]win32HelloWorld vc6.0 link2001 error

[复制链接]
发表于 2022-4-14 11:14:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
test.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'd:\masm32\bin\Link.EXE' : return code '0x460'
Stop.
最佳答案
2022-4-14 12:29:35
链接错误,估计是子系统的问题,报错入口函数不对。你检查下子系统,设置为控制台子系统。还有尽量别用VC6.0了,那个太老了,有些新标准可能不支持。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-4-14 12:29:35 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
链接错误,估计是子系统的问题,报错入口函数不对。你检查下子系统,设置为控制台子系统。还有尽量别用VC6.0了,那个太老了,有些新标准可能不支持。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 12:36:04 | 显示全部楼层
zzxhh628 发表于 2022-4-14 12:29
链接错误,估计是子系统的问题,报错入口函数不对。你检查下子系统,设置为控制台子系统。还有尽量别用VC6. ...

D:\masm32\workspace>link16 /subsystem:console test.obj;

Microsoft (R) Segmented Executable Linker  Version 5.60.339 Dec  5 1994
Copyright (C) Microsoft Corp 1984-1993.  All rights reserved.

LINK : warning L4017: /subsystem : unrecognized option name; option ignored
test.obj : fatal error L1101: invalid object module
Object file offset: 1 Record type: 4c
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 12:41:45 From FishC Mobile | 显示全部楼层
你是写32位汇编?可能你需要指定入口点,不然没法链接。别用link16.exe,有没有link.exe?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 12:42:57 From FishC Mobile | 显示全部楼层
你写32位汇编?这个可能需要你自己指定入口点,为什么用link16.exe,有没有link.exe?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 12:58:32 | 显示全部楼层
zzxhh628 发表于 2022-4-14 12:42
你写32位汇编?这个可能需要你自己指定入口点,为什么用link16.exe,有没有link.exe?

D:\masm32\workspace>link /subsystem:console test.obj
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LINK : error LNK2001: unresolved external symbol _mainCRTStartup
test.exe : fatal error LNK1120: 1 unresolved externals
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 13:00:22 | 显示全部楼层
18135437048 发表于 2022-4-14 12:58
D:\masm32\workspace>link /subsystem:console test.obj
Microsoft (R) Incremental Linker Version 5.1 ...

18135438048  哥,你加我给我解决一下吧,百度让用vs2017
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 13:02:47 From FishC Mobile | 显示全部楼层
ml /c /coff test.asm
Link /SUBSYSTEM:CONSOLE test.obj
这是编译链接过程,你再编译链接一次试试。不知道你的代码是什么,可能你的代码有问题,估计入口点不正确。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 13:05:39 From FishC Mobile | 显示全部楼层
ml /c /coff test.asm
Link /SUBSYSTEM:CONSOLE test.obj
这是编译和链接的命令,你是这么编译的吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 13:06:28 From FishC Mobile | 显示全部楼层
ml /c /coff test.asm
Link /SUBSYSTEM:CONSOLE test.obj
你是这么编译的嘛?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 13:08:07 From FishC Mobile | 显示全部楼层
18135437048 发表于 2022-4-14 13:00
18135438048  哥,你加我给我解决一下吧,百度让用vs2017

不一定要用VS2017,你把代码发过来,估计入口点有问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 13:11:58 From FishC Mobile | 显示全部楼层
18135437048 发表于 2022-4-14 13:00
18135438048  哥,你加我给我解决一下吧,百度让用vs2017

这个是什么号?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 15:03:46 | 显示全部楼层

ok
  1. .386
  2. .model flat,stdcall
  3. option casemap:none

  4. include windows.inc
  5. include user32.inc
  6. includelib user32.lib
  7. include kernel32.inc
  8. includelib kernel32.lib



  9. .data
  10. szCaption db 'Welcome to Fishc.com!',0
  11. szText db 'Hello World!',0

  12. .code
  13. start:
  14.         invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
  15.         invoke ExitProcess,NULL
  16. end
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 15:08:14 | 显示全部楼层

对,
ml /c /coff test.asm
link /subsystem:windows test.obj

link /subsystem:console test.obj

link16 /subsystem:console test.obj

nmake
  1. NAME = test
  2. OBJS = $(NAME).obj
  3. RES  = $(NAME).res

  4. LINK_FLAG = /subsystem:windows
  5. ML_FLAG = /c /coff

  6. $(NAME).exe: $(OBJS) $(RES)
  7.         Link $(LINK_FLAG) $(OBJS) $(RES)

  8. .asm.obj:
  9.         ml $(ML_FLAG) $<
  10. .rc.res:
  11.         rc $<

  12. clean:
  13.         del *.obj
  14.         del *.res
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 15:09:51 From FishC Mobile | 显示全部楼层
end后面少个标号start。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-14 15:22:02 From FishC Mobile | 显示全部楼层
这个对于窗口程序子系统就用windows,对于控制台就用console。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 15:22:17 | 显示全部楼层
我找到问题了,少个start
end start
不作死就用不了一上午,细节啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-4-14 15:23:33 From FishC Mobile | 显示全部楼层
一般用不到link16吧,应该直接link就行。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-18 20:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表