初学汇编,感觉很多不懂。不过那也是,如果懂了的话就不用学了,从无到有学习一门编程语言果然不是那么容易的一件事。
学习汇编总得要有一款汇编软件才行,没理由只是使用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. Mysql 创建数据库后修改属性

    添加表字段 alter table table1 add transactor varchar(10) not Null; alter table   table1 add id int unsign ...

  2. MapReduce深度分析(一)

    MapReduce深度分析(一) 一.数据流向分析 图为MapReduce数据流向示意图 步骤1.输入文件从HDFS流向到Mapper节点.在一般情况下,存储数据的节点就是Mapper运行的节点,不需 ...

  3. java中Integer比较需要注意的问题

    java中Integer比较需要注意的问题 package com.srie.test; import java.util.HashMap; import java.util.Map; public ...

  4. Java Ant Could not find the main class: org.eclipse.ant.internal.launching.remote.InternalAntRunner. Program

    参考:http://blog.csdn.net/jiangtaoking/article/details/49151763 The solution is to go to Run as → Exte ...

  5. 分享在MVC3.0中使用jQuery DataTable 插件

    前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原 ...

  6. Chrome 报 Resource interpreted as Script but transferred with MIME type text/plain 警告的解决办法

    http://www.2cto.com/os/201312/262437.html 安装了VS2012之后,chrome在加载页面的时候会报 Resource interpreted as Scrip ...

  7. SecureCRT 选择Courier New等其他字体.

    http://justwinit.cn/post/5813/ 如何解决SecureCRT无法选择Courier New等其他字体最终解决办法:到C:\Windows\Fonts目录下,找到Courie ...

  8. FP Tree算法原理总结

    在Apriori算法原理总结中,我们对Apriori算法的原理做了总结.作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈.为了解决这个问题,FP Tree算法(也称F ...

  9. PariticalFilter在MFC上的运行,源代码公开

    由于项目需要,进行过一段时间的 PariticalFilter 研究.主要的工作就是将网络上的Console代码和Mfc融合在一起,并且添加了Mfc端的控制功能.       程序还有不完善的地方,现 ...

  10. ubuntu无法进入桌面的修复

    今天的kubuntu更新后停在了启动logo上,无法进入系统界面了. 先在网上找了找,搜到了一个看起来很像的. 1)ubuntu在系统启动logo过后无法进入桌面的处理方法 一般情况下,无法显示桌面, ...