2 s121005 s121005 于 2016.03.10 20:31 提问

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

在看某项目的源码时 发现其使用了第三方的头文件,之后我就去官网下载了。
下载来是压缩文件 里面有一些.c .h之类的文件,我把这些文件都包含在源码中。
然后运行就出现了:
error LNK2019: 无法解析的外部符号 _jpeg_std_error,该符号在函数 "unsigned int __cdecl rescaleJPEG(unsigned char *,unsigned int,unsigned char * *,int)" (?rescaleJPEG@@YAIPAEIPAPAEH@Z) 中被引用

jpeg_std_error是第三方文件中定义的
unsigned int __cdecl rescaleJPEG是项目源码中定义的

而且在导入时 也使用了 extern “C”
extern "C"{
#include "jpeglib.h"
};

5个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.10 21:04
已采纳

是不是还要lib库文件没有包含到工程

visoncomputer
visoncomputer   2016.03.10 21:05

库文件没有链接到工程下,所以出现这类错误。

qq423399099
qq423399099   Ds   Rxr 2016.03.10 21:23

如果没有提供给你可用的.lib或者.dll的话,LZ应该先把.c文件编译成.lib,然后再将该.lib放在工程能搜索到的目录下
然后使用头文件就没问题了

lx624909677
lx624909677   Ds   Rxr 2016.03.10 22:45

在工程下看看 有没有一些lib文件,有的话添加到工程的附加依赖项里

John_ToStr
John_ToStr   Rxr 2016.03.11 11:10

建议吧代码部分贴出来,这样子好定位问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!