【问题标题】:LINK : fatal error LNK1181: cannot open input file 'cv.lib'链接:致命错误 LNK1181:无法打开输入文件 'cv.lib'
【发布时间】:2014-07-14 09:54:05
【问题描述】:

从昨天开始我就一直被这个问题困扰,我想不通。 我已经按照此 pdf 中的步骤进行操作 http://www.mathworks.in/matlabcentral/fileexchange/21818-opencv-and-mex-files-quick-guide

这是我的 mexopts.bat 的样子:

@echo 关闭
rem MSVC100OPTS.BAT
雷姆
rem 用于构建 MEX 文件的编译和链接选项
rem 使用 Microsoft Visual C++ 编译器版本 10.0
雷姆
rem $Revision: 1.1.6.4.2.1 $ $Date: 2012/07/12 13:53:59 $
rem 版权所有 2007-2009 The MathWorks, Inc.
雷姆
rem 存储版本:1.0
rem C++keyFileName: MSVC100OPTS.BAT
rem C++keyName:Microsoft Visual C++ 2010
rem C++keyManufacturer: Microsoft
rem C++keyVersion: 10.0
rem C++key语言:C++
rem C++keyLinkerName: Microsoft Visual C++ 2010
rem C++keyLinkerVersion: 10.0
雷姆
rem ************************************************ ******************
rem 一般参数
rem ************************************************ ******************
设置 MATLAB=%MATLAB%
设置 OPENCVDIR=D:\OPENCV\opencv\build
设置 VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0
设置 VCINSTALLDIR=%VSINSTALLDIR%\VC
rem 在这种情况下,LINKERDIR 用于指定 SDK 的位置
设置 LINKERDIR=C:\Program Files (x86)\Microsoft SDKs\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 ************************************************ ******************
设置编译器=cl
设置 COMPFLAGS=/c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD
设置 OPTIMFLAGS=/O2 /Oy- /DNDEBUG
设置 DEBUGFLAGS=/Z7
设置 NAME_OBJECT=/Fo
rem ************************************************ ******************
rem 链接器参数
rem ************************************************ ******************
设置 LIBLOC=%MATLAB%\extern\lib\win64\microsoft
设置 LINKER=链接
设置 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 /nologo /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"
设置 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"

但我遇到了这样的错误:

LINK : 致命错误 LNK1181: 无法打开输入文件 'cv.lib'

C:\PROGRA~1\MATLAB\R2012B\BIN\MEX.PL:
错误:“displayimage.mexw64”链接失败。

请帮我解决这个问题,并在此先感谢。 顺便说一下,我使用的是 Matlab R2012b 和 OpenCV 2.4.9

【问题讨论】:

标签: c++ matlab opencv mex


【解决方案1】:

那些缺少的 3 个 opencv 库与 opencv 1.0 一样使用。很久以前。但仅此而已。

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

opencv_libs 的当前名称类似于 opencv_core248.lib、opencv_highgui248.lib 等。查看 %OPENCVDIR%\x64\vc10\lib 文件夹,然后添加您在其中找到的内容。

【讨论】:

    【解决方案2】:

    根据本站http://msdn.microsoft.com/en-us/library/y6b12xkc%28v=vs.100%29.aspx.,找不到文件时会产生特定的错误代码。

    另外,我认为当我不小心混合了 32 位和 64 位库时收到了这个错误消息,但这只是一个模糊的回忆。

    【讨论】:

      猜你喜欢
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2020-06-02
      • 2015-08-31
      • 2017-02-17
      • 1970-01-01
      相关资源
      最近更新 更多