初学汇编,感觉很多不懂。不过那也是,如果懂了的话就不用学了,从无到有学习一门编程语言果然不是那么容易的一件事。
学习汇编总得要有一款汇编软件才行,没理由只是使用Windows自带的DEBUG。于是上了比较有名的AOGO汇编小站,浏览了一下,看到首页就有提示软件下载,非常好,不用我找了。虽然这个MASMPLUS不是老师推荐的那个,不过应该也不会差吧。
下载好了之后直接安装完毕,我马上就打开软件打算试一试这个东西。按着书上的一个简单程序打了上去,然后按那个“一步完成”按钮,下面马上显示出错。靠,不是吧,我对着书本来写上去的啊,难道这个“一步完成”有缺陷的?于是我试了试一步一步来进行。先是编译成“ASM”文件,然后接着连接成“OBJ”文件。就在连接成“OBJ”文件的这个步骤里面提示错误了。提示如下:
“LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
   2.exe : fatal error LNK1120: 1 unresolved externals”
搞什么啊,难道是我安装在D盘不行?难道要默认安装在C盘?不太可能吧?嗯,应该跟这个没关系。刚刚都没开始正式练习就来了这么个拦路虎,真有点郁闷 -_-!
不管那么多,先看看它提示说什么问题吧。虽然我英语不怎么好,但也总算认得它总体意思,大概就是说那个叫WinMainCRTStartup什么的外部符号未解决。应该是没找到这个东西之类吧。
好,问题大致上了解了。我根本不知道那个是什么东西,只好自己摸索一下了。在确定自己没有打错字母的之后,看来问题应该不是出在自己身上,不过这个软件才刚刚下载回来的啊,我都没有进行什么其他设置,也没有删除什么文件啊。只好从其他地方入手思考了。
经过参考了相关的资料和进行了一些思考之后,总算给我搞定了。原来只要在“配置”标签那里选择“系统配置”,再在编译/脚本那里勾上单独文件默认使用DOS模式(第二链接器)就可以了。
总算是能够编译运行了。用个软件都要花这么些时间,真够无奈的了,不过还好,起码问题是解决了。
总结一下
其实,问题的原因是:把编译Windows程序的选项打开了,这是一个DOS程序,当然不会有“ _WinMainCRTStartup”这种东西,这是Windows程序才用,就在外部引用的定义文件里。因此,选择使用DOS模式的就可以解决问题了。

MASMPlus编译出错:error LNK2001: unresolved external symbol _WinMainCRTStartup的更多相关文章

  1. MASMPlus连接出错:error LNK2001: unresolved external symbol _WinMainCRTStartup

    坑:汇编语言第三版使用的是masm5.0,网上找到了一个masm32,一看名字,不就是masm的32位版本吗.然也..这是另外一个软件 MASM32并非是指Microsoft的MASM宏汇编器.MAS ...

  2. VC++ : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>

    最近学习Google Breakpad,将其用在了自己的项目中,编译的版本为VS2010,没有什么问题.但是为了和之前的程序兼容,需要使用VS2008版本的程序,于是又编译了VS2008版本的代码,但 ...

  3. VC6.0 error LNK2001: unresolved external symbol __imp__ntohl@4

    --------------------Configuration: oxToint1 - Win32 Debug-------------------- Linking... main.obj : ...

  4. [异常] VC6.0 error LNK2001: unresolved external symbol _main解决办法

    来自:http://www.douban.com/note/65638800/ 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说 ...

  5. VC6.0 error LNK2001: unresolved external symbol _main解决办法

    学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过.产生连接错误的原因非常多,尤其LNK2001错误 ...

  6. (转载)浅析error LNK2001: unresolved external symbol "public: __thisc...

    学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于      编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,      编译都已通过.产生连接错误的原因非常多 ...

  7. 混合编程:error LNK2001: unresolved external symbol

    Vs2006+matlab2010rb环境: 1:工具-选项-项目解决方案-VC++目录设置include和lib的路径 2:项目-属性-属性配置-链接器-输入-附加依赖项把库的名字添加进去 VIST ...

  8. error LNK2001: unresolved external symbol @__security_check_cookie

    Q:VS2005编译的静态库, 在vc++6.0中连接出现错误 error LNK2001: unresolved external symbol @__security_check_cookie@l ...

  9. error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)(转)

    原文转自:http://blog.sina.com.cn/s/blog_639a2ad70101kpen.html 编译directshow若干问题的解决 1.安装好windows sdk,进入dir ...

随机推荐

  1. Memcached源码分析之assoc.c

    #include "memcached.h" #include <sys/stat.h> #include <sys/socket.h> #include ...

  2. HttpListener 实现web服务端

    1. using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste ...

  3. python unicode 转中文 遇到的问题 爬去网页中遇到编码的问题

    How do convert unicode escape sequences to unicode characters in a python string 爬去网页中遇到编码的问题 Python ...

  4. CentOS下成功修复了Windows的grub引导

    (转载) 以CentOS7和Windows为双系统,且后安装CentOS时,会出现开机没有Windows引导的问题.下图,倒数第二行可以看到Windows引导项: 修复运行终端(terminal),键 ...

  5. ksoap2- webservice

    1.概述 对于J2ME访问远端的Web Service,除了官方标准JSR 172,我们还有两种选择: l         kSOAP l         Wingfoot Wingfoot是由Win ...

  6. AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据

    由于受到浏览器的限制,ajax不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器 ...

  7. 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)

    HTTP is not just for serving up web pages. It's also a powerful platform for building APIs that expo ...

  8. ThinkPHP 模板的包含、渲染、继承

    一.模板包含        <include file="完整模板文件名" />        <include file="./Tpl/default ...

  9. Hadoop学习笔记-001-CentOS_6.5_64_连接外网设置

    参考:http://blog.csdn.net/u010270403/article/details/51444677 虚拟机中共五个centos系统,每个系统有两个用户root和hadoop:cdh ...

  10. Swift资料大全

    简单看了一下swift的语法,个人感觉相对于object-c很是简单明了.Swift的出现并不能说明iOS开发简单了很多,有可能会变得复杂,你需要学习两门编程语言,因为在程序员的世界里,务实并不是最重 ...