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

时间:2014-05-25 14:29:07

标签: c++ matlab opencv mex

自从昨天以来我一直坚持这个问题,我无法弄明白。 我已经按照这个pdf的步骤 http://www.mathworks.in/matlabcentral/fileexchange/21818-opencv-and-mex-files-quick-guide

这是我的mexopts.bat看起来像:

  

@echo off
  rem MSVC100OPTS.BAT
  REM
  rem编译和链接用于构建MEX文件的选项
  使用Microsoft Visual C ++编译器版本10.0的rem   REM
  rem $ Revision:1.1.6.4.2.1 $ $ Date:2012/07/12 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 ++ keyManufacturer: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 ********************************************** ******************
  设置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 \
  set 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%\ 64 \ VC10 \ lib中;%OPENCVDIR%\ 64 \ VC10 \ BIN;%VCINSTALLDIR%\ LIB \ AMD64;%VCINSTALLDIR%\ ATLMFC \ LIB \ AMD64;%LINKERDIR%\ lib中\ 64;%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 / 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” - 显示“%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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

那些缺少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文件夹,然后添加您在那里找到的内容。

相关问题