Ошибка LNK2019: неразрешенный внешний символ в Matlab

Я был в этом в течение 2 дней и попробовал каждое возможное решение, которое я могу найти через поисковик. Но я все еще застрял здесь.

Я скачал пакет для реализации суперпикселя из Вот.

Функция на C ++, но mex-файл был сгенерирован для 64-битной ОС Linux. Я использую 64-разрядную версию Windows 8, поэтому мне нужно создать один mex-файл для моей системы.

Файлы уже предоставлены в пакете с сайта. После установки mex и предоставления правильных путей openCV и переменных среды я запустил код compile_mex.m

mex -IB:\Opencv\opencv\build\include\opencv -c seeds2.cpp

mex mexSEEDS.cpp -IB:\Opencv\opencv\build\include\opencv seeds2.obj

И я получаю следующую ошибку, из-за которой не могу прийти к решению

mexSEEDS.obj : error LNK2019: unresolved external symbol cvSaveImage referenced in function "void __cdecl SaveImage(unsigned int *,int const &,int const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?SaveImage@@YAXPEAIAEBH1AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

Я не смог пройти через это. Я получил ту же ошибку, когда выполнил это в кодовых блоках, даже после связывания библиотек, каталогов компилятора и библиотек компоновщиков и каталогов, как это предлагалось многими сайтами / форумами.

-1

Решение

Я получил ответ.

  1. Найдите и откройте mexopts.bat
  2. получить доступ к этому PDF
  3. Следовать из УСТАНОВКА MATLAB ДЛЯ СОЗДАНИЯ ФАЙЛОВ C ++ И MATLAB MEX И СВЯЗАТЬ ИХ С ФАЙЛАМИ OPENCV OBJ
  4. во время редактирования mexopts.bat, при добавлении библиотек в LINKFLAGS, добавьте следующие библиотеки из / build / x64 / vc10 / lib

    core249 and 249d
    flann249 (and the same as above. rest also have the tag 249 and 249d. this is the version number. 2.4.9 in my case)
    highgui
    imageproc
    legacy
    objdetect
    

Причина в том, что все это было необходимо для компиляции mexseeds.cpp. Но основной, по крайней мере, 1-й 4. после добавления сохранить и скомпилировать файл mex. В pdf имена библиотек будут другими, так как она была создана во время старых версий opencv

0

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


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