Я создаю OpenCV 3.0 из исходного кода. И с репозиторием contrib для некоторых дополнительных модулей. И я вручную настроил свой проект VS2013 для использования сгенерированных файлов lib.
Мой код пока прост:
#include "opencv2\core\core.hpp"
#include "opencv2\imgcodecs\imgcodecs.hpp"
int _tmain(int argc, _TCHAR* argv[])
{
cv::Mat image = cv::imread("img.jpg");
return 0;
}
Но это дало мне эти ошибки, когда в версии сообщества VS 2013:
Я вижу похожий поток , они сказали, что это вызвано проблемой x86/x64. Но Мой проект уже x86. И созданный мной OpenCV также ориентирован на x86 (см. ниже). Какая это может быть причина?
ДОБАВИТЬ 1
Проект OpenCV 3.0 INSTALL
создает следующий каталог lib:
Так что это действительно x86
.
Мой путь к библиотеке настроен на указанный выше путь:
И я добавил все файлы *d.lib
.
А ниже мой проект ВК Configuration Manager
Так что это действительно тоже x86
.
Где может быть ошибка?
ДОБАВИТЬ 2
Я вручную искал функцию fastFree()
. Он определен в файле opencv_core300d.lib
. Я использую команду dumpbin /symbols
для проверки символов. И я обнаружил, что его имя искажено точно так же, как fastFree@cv@@YAXPAX@Z
. Так почему его нельзя найти?
INSTALL
. Этот проект поместил библиотеки в такое место:..\install\x86\vc12\staticlib
, которое я добавил в свой проект VC в качестве дополнительного пути к библиотеке. Я добавил скриншоты к своему вопросу. - person smwikipedia   schedule 21.07.2015*d.lib
. Пожалуйста, посмотрите мой недавно добавленный скриншот. - person smwikipedia   schedule 21.07.2015