Я пытаюсь включить .lib
файл в моем проекте Visual Studio 2012 C ++. Библиотека — это конкретный проект 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;
}
Вам не понадобится прототип
int ph_dct_imagehash(const char *file, ulong64 &hash);
после включения pHash.h
как последний объявит функции для вас.
Удалите эту строку и изучите любую ошибку компилятора (которая, если таковая имеется, приведет к невозможности найти функцию ph_dct_imagehash
). Возможно, вам нужно поставить префикс с правильным пространством имен:
somephashnamespace::ph_dct_imagehash(file, hash);
Других решений пока нет …