Visual Studio 2012 — «Ошибка LNK2019, неразрешенный внешний символ» при попытке включить .lib

Я пытаюсь включить .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;
}

0

Решение

Вам не понадобится прототип

int ph_dct_imagehash(const char *file, ulong64 &hash);

после включения pHash.h как последний объявит функции для вас.

Удалите эту строку и изучите любую ошибку компилятора (которая, если таковая имеется, приведет к невозможности найти функцию ph_dct_imagehash). Возможно, вам нужно поставить префикс с правильным пространством имен:

somephashnamespace::ph_dct_imagehash(file, hash);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]