这是我的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
答案 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文件夹,然后添加您在那里找到的内容。