我正在尝试在我的Visual Studio2012 C++项目中包含一个.lib文件。具体地说,该库是pHash项目。我已经将项目的头文件添加到Project->Properties->Configuration Properties->VC++ Directories->Includes,并将.lib文件的文件夹添加到Project->Properties->Configuration Properties->VC++ Directories->Library Directories。已将pHash.lib添加到Project->Properties->Configuration Properties->Linker->Input->Additional Dependencies的依赖项列表中。但是,即使我已经完成了所有这些操作,在尝试使用这些库时仍然会遇到这个错误:error LNK2019: unresolved external symbol "int __cdecl ph_dct_imagehash(char const *,unsigned __int64 &)" (?ph_dct_imagehash@@YAHPBDAA_K@Z) referenced in function _main。
我的代码如下所示:
#include <iostream>
#include "pHash.h"
using namespace std;
int ph_dct_imagehash(const char *file, ulong64 &hash);
int main()
{
ulong64 tmp = 0;
ulong64 &hash = tmp;
const char *file = "C:\\users\\user\\desktop\\img1.jpg";
ph_dct_imagehash(file, hash);
return 0;
}发布于 2013-09-16 19:25:18
您将不需要原型
int ph_dct_imagehash(const char *file, ulong64 &hash);在包含pHash.h之后,后者将为您声明函数。
删除该行并检查任何编译器错误(如果有错误,可能是因为找不到函数ph_dct_imagehash)。也许您需要使用正确的名称空间作为前缀:
somephashnamespace::ph_dct_imagehash(file, hash);https://stackoverflow.com/questions/18826613
复制相似问题