error LNK2019: 无法解析的外部符号


error LNK2019,这类问题一般是因为链接lib库文件时的问题。
所以只要正确的进行lib库文件的链接,这类问题就会得到解决。

lib库文件包含了DLL中函数的想关信息,因此我们只需要在项目添加对这些LIB的依赖既可;
1. 在VS2008中点击项目-》右键-》属性-》配置属性-》链接器-》输入-》附加依赖项:将相关的lib文件加入到附加依赖项中;
2.在附加库目录中添加所需lib库文件所在的目录;

注意点:
1. 如果lib文件在项目文件同级目录下,那么附加库目录可以为空;
2. 附加库目录如果有多个,那么前后有优先顺序,查找lib库文件时,会先从排在最前面的库目录中查找。
如果找到,就链接对应的lib文件;否则,在其他库目录下进行查找,如果最终还是找不到,就会给出提示,说找不到***.lib

BUG特例:
1.附加依赖项/附加库目录添加好后,依然出现“error LNK2019: 无法解析的外部符号 ”,粗略看一下,依赖的lib库文件名字正确,
在对应的附加库目录下也能找到相应的lib文件,似乎没错。重新编译发现,还是会提示“error LNK2019: 无法解析的外部符号 ”,
这时候就要想一想,附加库目录下也能找到相应的lib文件是否是对应需要的那个lib文件,因为有可能库目录下的lib文件不是最新的。
这时,需要做的是重新编译生成对应的lib文件,然后重新包含链接(可以试着换个名字试试)。

2.如果lib文件在项目文件同级目录下,那么附加库目录可以为空;编译器会最先查找项目文件同级目录下的lib文件,
然后在查找附加库目录下的lib文件。因此,对于可能会有的提示“error LNK2019: 无法解析的外部符号 ”,可以尝试
更新同级库目录下的lib文件,也可以删掉原来同级目录下的lib文件,将它拷贝到其他目录,重新添加库文件和库目录。



你可能感兴趣的:(error LNK2019: 无法解析的外部符号)