开发路漫漫,尤其对于刚从事开发不久的新手来说,常常遇到一些稀奇古怪的错误,很是头疼,鉴于自己在开发过程中常遇到的几个错误做个分享,希望对大家有所帮助:

错误1:

  在创建完win32的DLL后,编译时出现:error LNK2005:_DllMain@12已经在dllmain.obj中定义

解决方法:

  在.cpp文件的开头加入如下代码:

  #ifdef _X86_
  extern "C" { int _afxForceUSRDLL; }
  #else
  extern "C" { int __afxForceUSRDLL; }
  #endif

错误2:

  在调用dll时出现:

  ”Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.

  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.”

原因:

  你定义的指针函数原型出错,因为你调用的dll函数是一个远函数,而且是一个C函数,你得告诉编译器它是个C函数才行

解决方法:

  在定义函数指针时加上__stdcall即可

  eg: typedef void (__stdcall *pCloseComPort)();

错误3:

  现象:fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC sha

解决方法:

  因为是静态库中使用MFC时,当出现这种问题时,依次点击

  工程-->属性-->配置属性-->C++--> 命令行

  在其他命令中添加:/D "_AFXDLL"

错误4:

  现象: fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>

解决方法:

  原因:头文件的顺序不能反

  #include <afxwin.h>   //先引用这个

  #include <windows.h>  //后引用这个

错误5:

  现象:提示microsoft incremental linker已停止工作解决方法

解决方法:

  项目->属性->链接器->常规 下面的“启用增量链接”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。

  不过这又引入了另外一个警 告:FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)

  选择项目,属性->配置属性 ->C/C++,修改“调试信息格式”为“程序数据库(/Zi)”即可。

错误6:

  现象:错误:fatal error C1003: 错误计数超过 100;正在停止编译

解决方法:

  原因:出现这种情况是因为编译器将C++文件编译成C导致的

  方法:

    1)如果你的main文件后缀为C,该为cpp即可

    2)如果你发现main文件后缀为cpp ,这是可能就是你的IDE设置的问题了,依次点击:属性管理器-->通用属性-->C/C++-->高级-->编译为,如果编译为里面是C,修改为默认值即可

错误7:

  现象:错误 1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

解决方法:

  在电脑里搜索cvtres.exe文件,发现:

  C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

  C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65

  C:\Windows\Microsoft.NET\Framework\v4.0.30319

  三个路径下都有此文件,尝试用第二个路径里边的文件替换第一个路径的文件,问题解决。

VS2010 常见错误类型汇总的更多相关文章

  1. 【Jmeter自学】常见错误类型(九)

    ==================================================================================================== ...

  2. MySQL常见错误类型

    MySQL常见错误类型:1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010: ...

  3. 【repost】js 常见错误类型

    1)SyntaxError SyntaxError是解析代码时发生的语法错误 // 变量名错误  var 1a;  // 缺少括号  console.log 'hello'); (2)Referenc ...

  4. js常见错误类型

    (1)SyntaxError SyntaxError是解析代码时发生的语法错误 // 变量名错误 var 1a; // 缺少括号 console.log 'hello'); (2)ReferenceE ...

  5. js常见错误类型及chrome常见报错(更新中)

    ECMA-262 定义了下列 7 种错误类型: 1.Error 错误 2.EvalError 全局错误 eval函数没有正确执行 3.RangeError 范围错误 4.ReferenceError ...

  6. 004_C++常见错误类型总结(一)之最后几行错误

    1.介绍 经常进行代码测试和静态代码分析的同学,应该会遇到这样的一个问题,就是一个程序段的最后几行,或者一个源文件末尾会出现错误.本文,结合专业的静态代码分析软件PSV-Studio提供错误类型代码库 ...

  7. VS2010 常见错误总结

    错误一:“此时无足够的可用内存,无法满足操作的预期要求,可能是由于虚拟地址空间碎片造成的,请稍后重试” 安装VS2010补丁:http://xiazai.jb51.net/201007/tools/V ...

  8. javascript中常见错误类型

    js中控制台报错主分两大类: 第一类:语法错误,这一类错误在javascript预解析的过程中如果遇到,则会导致整个js文件都无法执行. 另一类:统称为异常,这一类的错误会导致在错误出现的那一行之后的 ...

  9. vs2010常见错误

    安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误 安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误 用VS2012调试时发现在调用数据集时提示“尝试读取或写入受保护的内存. ...

随机推荐

  1. workerman启动失败解决

    提示stream_socket_server(): unable to connect to tcp://0.0.0.0:2120 (Address already in use)php xxx.ph ...

  2. 【LeetCode】205. Isomorphic Strings

    题目: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the c ...

  3. win 结束占用端口的进程

    在web开发的时候,经常开启http服务器监听某个端口,例如npm run dev等等 以下介绍通过命令行结束占用端口的程序(注:测试环境为win10) 1.启动命令行 2.在命令行输入 netsta ...

  4. selenium 环境搭建

    使用selenium + python来搭建环境的步骤: 1. 下载 python 的版本,常用到的有 2.7 和 3.6 2. 下载 selenium 的版本,通过命令进行下载. pip insta ...

  5. 【原创】无线破解Aircrack-ng套件详解--airmon-ng与airodump-ng

    一:Aircrack-ng详解 1.1 Aircrack-ng概述 Aircrack-ng是一款用于破解无线802.11WEP及WPA-PSK加密的工具,该工具在2005年11月之前名字是Aircra ...

  6. Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging

    通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机(native messaging host)”,Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应 ...

  7. java 重载与重写 【转】

    首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态 ...

  8. Android可更换布局的换肤方案

    换肤,顾名思义,就是对应用中的视觉元素进行更新,呈现新的显示效果.一般来说,换肤的时候只是更新UI上使用的资源,如颜色,图片,字体等等.本文介绍一种笔者自己使用的基于布局的Android换肤方案,不仅 ...

  9. JS事件响应的学习总结

    点击事件:ocnlick 鼠标经过事件:onmouseover 鼠标移开事件:onmouseout 获得焦点事件:onfocus 失去焦点事件:onblur 内容选中事件:onselect 文本框内容 ...

  10. Luogu 1962 斐波那契数列(矩阵,递推)

    Luogu 1962 斐波那契数列(矩阵,递推) Description 大家都知道,斐波那契数列是满足如下性质的一个数列: f(1) = 1 f(2) = 1 f(n) = f(n-1) + f(n ...