unresolved   external   symbol   “symbol”。

  如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或

标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所引用

的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本

的连接库。

  以下是可能产生LNK2001错误的原因:

  一.由于编码错误导致的LNK2001。

  1.不相匹配的程序代码或模块定义文件能导致LNK2001。例如,

如果在C++   源文件内声明了一变量“var1”,却试图在另一文件内以变量

“VAR1”访问该变量,将发生该错误。

  2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定

义将导致LNK2001错误。

  3.调用函数时如果所用的参数类型同函数声明时的类型不符将会产生

LNK2001。

  4.试图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001。

  5.要注意函数和变量的可公用性,只有全局变量、函数是可公用的。

  静态函数和静态变量具有相同的使用范围限制。当试图从文件外部访问

任何没有在该文件内声明的静态变量时将导致编译错误或LNK2001。

  函数内声明的变量   只能在该函数的范围内使用。

  C++   的全局常量只有静态连接性能。这不同于C,如果试图在C++的

多个文件内使用全局变量也会产生LNK2001错误。一种解决的方法是需要时在

头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一种

方法是使用时给该变量赋以常数。

  二.由于编译和链接的设置而造成的LNK2001

  1.如果编译时使用的是/NOD选项,程序所需要的运行

库和MFC库在连接时由编译器写入目标文件模块,   但除非在文件中明确包含

这些库名,否则这些库不会被链接进工程文件。在这种情况下使用/NOD将导

致错误LNK2001。

  2.如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC

时将得到“unresolved   external   on   _WinMain@16”的LNK2001错误信息。

  3.使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,

源文件中对“func”的引用,在目标文件里即对“__imp__func”   的引用。

如果试图使用静态库LIBC.LIB或LIBCMT.LIB进行连接,将在__imp__func上发

生LNK2001;如果不使用/MD选项编译,在使用MSVCxx.LIB连接时也会发生LNK2001。

  4.使用/ML选项编译时,如用LIBCMT.LIB链接会在_errno上发生LNK2001。

  5.当编译调试版的应用程序时,如果采用发行版模态库进行连接也会产

生LNK2001;同样,使用调试版模态库连接发行版应用程序时也会产生相同的

问题。

  6.不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可

能包含早先的版本没有的符号和说明。

  7.在不同的模块使用内联和非内联的编译选项能够导致LNK2001。如果

创建C++库时打开了函数内联,但是在描述该函数的相应头

文件里却关闭了函数内联,这时将得到该错误信息。

为避免该问题的发生,应该在相应的头文件中用inline关键字标志内联函数。

  8.不正确的/SUBSYSTEM或/ENTRY设置也能导致LNK2001。

  其实,产生LNK2001的原因还有很多,以上的原因只是一部分而已,对初

学者来说这些就够理解一阵子了。但是,分析错误原因的目的是为了避免错

误的发生。LNK2001错误虽然比较困难,但是只要注意到了上述问题,还是能

够避免和予以解决的。

转载于:https://www.cnblogs.com/Hotcocoa/articles/2036064.html

LNK2001连接错误相关推荐

  1. SqlServer的SSIS导入导出数据时找不到连接错误处理

    SqlServer的SSIS导入导出数据时找不到连接错误处理 报错: 找不到连接"SourceConnectionOLEDB".如果找不到特定的连接元素,Connections集合 ...

  2. Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩。

    Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方案的大杂烩. 参考文章: (1)Foxmail: 错误信息::ssl连接错误, errorCode: 5,各种解决方 ...

  3. 解决git下载出现:Failed to connect to 127.0.0.1 port 1080: Connection refused拒绝连接错误

    解决git下载出现:Failed to connect to 127.0.0.1 port 1080: Connection refused拒绝连接错误 文章目录: 一.git拒绝连接原因分析 二.错 ...

  4. 打开360浏览器显示无法连接服务器错误,Win10电脑上360浏览器提示网络连接错误,错误代码 102的解决方案...

    360浏览器是我们经常在Win10电脑上使用的浏览器之一,如果我们在Win10电脑上,用360浏览器无法打开网页,还提示网络连接错误,错误代码 102,这个我们要怎么办呢?这个问题已经让很多用户无法正 ...

  5. 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server

    本文转载于http://www.cnblogs.com/jesu/p/5650699.html,向原作者表示感谢,如有侵权,请联系我. 这段时间在研究火车头的入库教程,在"配置登陆信息和数据 ...

  6. host mysql server_解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server...

    解决服务器连接错误Host 'XXX' is not allowed to connect to this MySQL server问题,有碰到此问题的同学可进入参考. 这段时间在研究火车头的入库教程 ...

  7. 远程桌面连接错误:由于安全设置错误,客户端无法连接到远程计算机。

    [1]问题情境描述 win7远程桌面连接UBuntu. 当输入远程机UBuntu的IP(确保正确)后,点击连接.弹出连接错误(见下节). 注意:计算机操作中遇到的有些问题与生活中的极其相似,因为计算机 ...

  8. Linux——SSH连接错误【No supported authentication methods available】解决方案

    问题描述 No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with- ...

  9. 阿里云ECS——Linux连接错误[Read from socket failed: Connection reset by peer]解决方案

    问题描述 改变了系统权限 chmod 777 -R /后,SSH连接错误[Read from socket failed: Connection reset by peer]. 主要是改变了/etc/ ...

最新文章

  1. Bit-Z转入GXS、PPS、SPHTX、EOS未到账解决方案
  2. sas宏中如何跳出%do循环
  3. mui几种页面跳转方式对比
  4. pyHook pyHook3 区别_一般过去时态和现在完成时态之间到底有什么区别?通过一道语法题,帮你彻底讲清楚!...
  5. 卸载MySql详细步骤
  6. 用python制作几款简单又好玩的小游戏,找回童年的记忆
  7. Altera PLL失锁的原因
  8. linux环境(centos7.3)下安装Xilinx FPGA以及烧录算法教程
  9. 以CIM平台推动数字孪生落地 以数字孪生助力智慧城市建设
  10. Java实现鉴权失败达到一定次数锁定IP并释放到期IP
  11. 计算机组装日记,求微机组装与维护实习日记?
  12. Mplay 常用命令及功能简介(ZT)
  13. RNA editing restricts hyperactive ciliary kinases文章翻译
  14. 免费网站流量统计服务汇总
  15. 楚留香服务器维护时间,2019年8月9日官方维护公告
  16. 敏捷的三个中心;再谈Buffer
  17. 将Excel上千条数据写入到数据库中
  18. Java并发知识点快速复习手册(下)
  19. 吴翰清讲web安全--XSS攻击
  20. 《计算机问题求解》总结——2014年CCF计算机课程改革导教班(2014.07.11)

热门文章

  1. 【Linux入门到精通系列讲解】VFS分区动态绑定和CentOS7分区类型
  2. keil debug如何在watch直接修改变量值_printf系列教程03_SWO打印输出配置,基于Keil『Debug(printf)Viewer』...
  3. spi iic和串口的区别_GMII、SGMII和SerDes的区别和联系
  4. 计算机应用看法,对计算机应用教学方法改革的看法
  5. 网络推广策略之如何稳定新站的关键词排名?
  6. 网络推广——符合网站现状的优化方案才是最适合进行网络推广的方案
  7. http服务器 如何传输文件,http服务器 如何传输文件
  8. 框架退出的方法_AOP日志框架实现
  9. intel服务器修复两个漏洞,游戏厂商:修复Intel处理器漏洞后 服务器超卡
  10. 开发日记-20190624 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 1