鱼C论坛

 找回密码
 立即注册
查看: 2271|回复: 1

[技术交流] Win32的编译链接[o(∩_∩)o]

[复制链接]
发表于 2012-5-17 11:09:57 | 显示全部楼层 |阅读模式

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

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

x

  1. @echo off
  2. #rem把程序名字改掉就可以了 不需要加后缀名
  3. set _NAME=程序名字

  4. rem 设置环境变量~~
  5. set Masm32Dir=E:\Masm32
  6. set include=%Masm32Dir%\Include;%include%
  7. set lib=%Masm32Dir%\lib;%lib%
  8. set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
  9. set Masm32Dir=

  10. rem 开始编译连接哈
  11. ml /c /coff /Cp %_NAME%.asm
  12. link /subsystem:windows %_NAME%.obj
  13. del %_NAME%.obj

  14. rem 再暂停下下...
  15. pause
  16. echo on
复制代码

上面一段是var.bat的改装
看到使用 MASM06的时候 本来想nmake编译链接 可是突然一堆错误 你们也看下哈


  1. 1.OBJ : warning LNK4033: converting object format from OMF to COFF
  2. 1.OBJ : error LNK2001: unresolved external symbol _MessageBoxA@16
  3. 1.OBJ : error LNK2001: unresolved external symbol _ExitProcess@4
  4. LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
  5. 1.exe : fatal error LNK1120: 3 unresolved externals
  6. NMAKE : fatal error U1077: 'Link' : return code '0x460'
  7. Stop.
复制代码

我表示很无语 如果是自己单独 ml  再 link  到是可以 但是奇怪的这个是为啥..不解哈.
不过我突然想到批处理 就蒙了一下代码 也用set 虽然不知道var可以不可以 我没学过批处理哈.大家看下还有没要改的
不过感觉这个只要写下名字 不需要加后缀名感觉这个更方便哈.反正也可以 还不需要cmd 转 e 转masm\source再var.bat ...好多步骤大家也可以试试 我刚可是试过哈 如果名字里面有 空格的话也可以哈.很神奇的感觉.大家可以试试.

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-5-17 11:15:04 | 显示全部楼层
顶啊~~~~~~~~~~~~~~~~~~~~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-30 17:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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