ССЫЛКА: фатальная ошибка LNK1181: невозможно открыть входной файл 'cv.lib'

Я застрял с этой проблемой со вчерашнего дня, и я не могу понять это. я уже выполняю шаги из этого pdf http://www.mathworks.in/matlabcentral/fileexchange/21818-opencv-and-mex-files-quick-guide

и это мой mexopts.bat выглядит так:

но у меня такая ошибка:

ССЫЛКА: фатальная ошибка LNK1181: невозможно открыть входной файл 'cv.lib'

C:\PROGRA~1\MATLAB\R2012B\BIN\MEX.PL:
Ошибка: ссылка на 'displayimage.mexw64' не удалась.

Пожалуйста, помогите мне решить эту проблему, и спасибо заранее. кстати я использую Matlab R2012b и OpenCV 2.4.9

согласно этому сайту http://msdn.microsoft.com/en-us/library/y6b12xkc%28v=vs.100%29.aspx. Конкретный код ошибки появляется, когда файл не может быть найден.


person brrngsk    schedule 25.05.2014    source источник
comment
@echo off
rem MSVC100OPTS.BAT
rem
rem Параметры компиляции и компоновки, используемые для построения MEX-файлов
rem с использованием компилятора Microsoft Visual C++ версии 10.0
rem< br/> rem $ Редакция: 1.1.6.4.2.1 $ $ Дата: 12.07.2012 13:53:59 $
rem Copyright 2007-2009 The MathWorks, Inc.
rem
rem StorageVersion: 1.0
rem C++keyFileName: MSVC100OPTS.BAT
rem C++keyName: Microsoft Visual C++ 2010
rem C++keyПроизводитель: Microsoft
rem C++ keyVersion: 10.0
rem C++keyLanguage: C++
rem C++keyLinkerName: Microsoft Visual C++ 2010
rem C++keyLinkerVersion: 10.0
rem
rem < сильный>****************************************************** ****************
rem Общие параметры
rem *************** ****************************************************< /strong>
установить MATLAB=%MATLAB%
установить OPENCVDIR=D:\OPENCV\opencv\build
установить VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0
set VCINSTALLDIR=%VSINSTALLDIR%\VC
rem В этом случае LINKERDIR используется для указания расположения SDK
set LINKERDIR=C:\Program Files (x86) \Microsoft SDK\Windows\v7.0A\
установить PATH=%VCINSTALLDIR%\bin\amd64;%VCINSTALLDIR%\bin;%VCINSTALLDIR%\VCPackages;%VSINSTALLDIR%\Common7\IDE;%VSINSTALLDIR%\Common7 \Tools;%LINKERDIR%\bin\x64;%LINKERDIR%\bin;%MATLAB_BIN%;%PATH%
установить INCLUDE=%OPENCVDIR%\include;%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\ATLMFC\INCLUDE ;%LINKERDIR%\include;%INCLUDE%
установить
LIB=%OPENCVDIR%\x64\vc10\lib;%OPENCVDIR%\x64\vc10\bin;%VCINSTALLDIR%\LIB\amd64;% VCINSTALLDIR%\ATLMFC\LIB\amd64;%LINKERDIR%\lib\x64;%MATLAB%\extern\lib\win64;%LIB%
установить MW_TARGET_ARCH=win64
rem **** ******************************************************* **********
rem Параметры компилятора
rem ********************* **********************************************
установить COMPILER=cl
установить COMPFLAGS=/c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nlogo /MD
установить OPTIMFLAGS=/O2 /Oy- /DNDEBUG
установить DEBUGFLAGS=/Z7
установить NAME_OBJECT=/Fo
rem *************************************** ***************************
rem Параметры компоновщика
rem *** ******************************************************* ***********
установить LIBLOC=%MATLAB%\extern\lib\win64\microsoft
установить LINKER=link
установить LINKFLAGS=/dll /export:%ENTRYPOINT% /LIBPATH:"%OPENCVDIR%" cv.lib highgui.lib cvaux.lib cxcore.lib /LIBPATH:"%LIBLOC%" libmx.lib libmex.lib libmat.lib /MACHINE:X64 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nlogo /manifest /incremental:NO /implib:"%LIB_NAME%.x " /MAP:"%OUTDIR%%MEX_NAME%%MEX_EXT%.map"
установить LINKOPTIMFLAGS=
установить LINKDEBUGFLAGS=/debug /PDB:"%OUTDIR%% MEX_NAME%%MEX_EXT%.pdb"
установить LINK_FILE=
установить LINK_LIB=
установить NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%"
установить RSP_FILE_INDICATOR= @
rem *********************************************** ************************
rem Параметры компилятора ресурсов
rem ******* ******************************************************* *******
установить RC_COMPILER=rc /fo "%OUTDIR%mexversion.res"
установить RC_LINKER=
установить POSTLINK_CMDS=del "%LIB_NAME%.x " "%LIB_NAME%.exp"
set POSTLINK_CMDS1=mt -outputresource:"%OUTDIR%%MEX_NAME%%MEX_EXT%;2" -manifest "%OUTDIR%%MEX_NAME%%MEX_EXT%.manifest"
установить POSTLINK_CMDS2=del "%OUTDIR%%MEX_NAME%%MEX_EXT%.manifest"
установить POSTLINK_CMDS3=del "%OUTDIR%%MEX_NAME%%MEX_EXT%.map"
  -  person Mihai8    schedule 25.05.2014


Ответы (2)


Кроме того, я думаю, что получил это сообщение об ошибке, когда случайно смешал 32-битные и 64-битные библиотеки, но это всего лишь смутное воспоминание.

те отсутствующие 3 библиотеки opencv использовались, например, с opencv 1.0. давно. но не более.

person thurizas    schedule 25.05.2014

текущие имена opencv_libs такие, как opencv_core248.lib, opencv_highgui248.lib и т. д. загляните в эту папку %OPENCVDIR%\x64\vc10\lib и вместо этого добавьте то, что вы там найдете.

set LINKFLAGS=/dll /export:%ENTRYPOINT% /LIBPATH:"%OPENCVDIR%" cv.lib highgui.lib cvaux.lib cxcore.lib 

См. mathworks.com/matlabcentral/answers/.

person berak    schedule 25.05.2014