vs2010 error LNK2001: 无法解析的外部符号
(2012-11-14 16:53:59)
标签:
lnk2001it |
分类: VSERROR |
vs2010 error LNK2001: 无法解析的外部符号
初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:
以下是可能产生LNK2001错误的原因:
一.由于编码错误导致的LNK2001。
1.不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如,
2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定义将导致LNK2001错误。
3.调用函数时如果所用的参数类型同函数声明时的类型不符将会产生
4.试图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001。
5.要注意函数和变量的可公用性,只有全局变量、函数是可公用的。
静态函数和静态变量具有相同的使用范围限制。当试图从文件外部访问
C++
二.由于编译和链接的设置而造成的LNK2001
1.如果编译时使用的是/NOD(/NODEFAULTLIB)选项,程序所需要的运行
2.如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC
3.使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,
4.使用/ML选项编译时,如用LIBCMT.LIB链接会在_errno上发生LNK2001。
5.当编译调试版的应用程序时,如果采用发行版模态库进行连接也会产
6.不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可
7.在不同的模块使用内联和非内联的编译选项能够导致LNK2001。如果
8.不正确的/SUBSYSTEM或/ENTRY设置也能导致LNK2001。
转载:http://hi.baidu.com/aldrich_sunny/item/701868160ff65837b93180d2

加载中…