Bonjour,
Je me permets de poster ici car malgré toute l'aide de Dut sur la plupart des topics similaires, je n'arrive pas à résoudre mon problème.
Alors tout d'abord,
ma version de MATLAB "7.13.0.564 (R2011b)"
mon compilateur "Microsoft Software Development Kit (SDK) 7.1 in c:\Program Files (x86)\Microsoft Visual Studio 10.0"
Et OpenCV 2.1 dans le fichier: "C:\Program Files (x86)\OpenCV2.1" (je sais les espaces c'est mal)
Je veux faire un truc tout bête: charger une image
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <highgui.h> #include "mex.h" void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) { printf("Hello World !\n"); //load the image IplImage* img = cvLoadImage("./cameraman.png"); }
Je compile en utilisant
(j'ai vu qu'on pouvait modifier le mexopts.bat mais pour l'instant j'aimerais déjà que cela fonctionne).
Code : Sélectionner tout - Visualiser dans une fenêtre à part mex -v helloWorld.cpp -I"C:\Program Files (x86)\OpenCV2.1\include\opencv" -I"C:\Program Files (x86)\OpenCV2.1\include" "C:\Program Files (x86)\OpenCV2.1\lib\*.lib"
et j'obtiens finalement l'erreur
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 -> Default options filename found in C:\Users\~username\AppData\Roaming\MathWorks\MATLAB\R2011b ---------------------------------------------------------------- -> Options file = C:\Users\~username\AppData\Roaming\MathWorks\MATLAB\R2011b\mexopts.bat MATLAB = C:\Program Files\MATLAB\R2011b -> COMPILER = cl -> Compiler flags: 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 arguments = -I"C:\Program Files (x86)\OpenCV2.1\include\opencv" -I"C:\Program Files (x86)\OpenCV2.1\include" Name switch = /Fo -> Pre-linking commands = -> LINKER = link -> Link directives: LINKFLAGS = /dll /export:mexFunction /LIBPATH:"C:\Program Files\MATLAB\R2011b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib cv210.lib cxcore210.lib highgui210.lib cxcore210.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:"C:\Users\~username\AppData\Local\Temp\mex_hrM5os\templib.x" /MAP:"helloWorld.mexw64.map" LINKDEBUGFLAGS = /debug /PDB:"helloWorld.mexw64.pdb" LINKFLAGSPOST = Name directive = /out:"helloWorld.mexw64" File link directive = Lib. link directive = Rsp file indicator = @ -> Resource Compiler = rc /fo "mexversion.res" -> Resource Linker = ---------------------------------------------------------------- --> cl -I"C:\Program Files (x86)\OpenCV2.1\include\opencv" -I"C:\Program Files (x86)\OpenCV2.1\include" /c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD /FoC:\Users\~username\AppData\Local\Temp\mex_hrM5os\helloWorld.obj -I"C:\Program Files\MATLAB\R2011b\extern\include" /O2 /Oy- /DNDEBUG -DMX_COMPAT_32 helloWorld.cpp helloWorld.cpp Contents of C:\Users\~username\AppData\Local\Temp\mex_hrM5os\mex_tmp.rsp: C:\Users\~username\AppData\Local\Temp\mex_hrM5os\helloWorld.obj --> link /out:"helloWorld.mexw64" /dll /export:mexFunction /LIBPATH:"C:\Program Files\MATLAB\R2011b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib cv210.lib cxcore210.lib highgui210.lib cxcore210.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:"C:\Users\~username\AppData\Local\Temp\mex_hrM5os\templib.x" /MAP:"helloWorld.mexw64.map" @C:\Users\~username\AppData\Local\Temp\mex_hrM5os\mex_tmp.rsp Création de la bibliothèque C:\Users\~username\AppData\Local\Temp\mex_hrM5os\templib.x et de l'objet C:\Users\~username\AppData\Local\Temp\mex_hrM5os\templib.exp helloWorld.obj : error LNK2019: symbole externe non résolu cvLoadImage référencé dans la fonction mexFunction helloWorld.mexw64 : fatal error LNK1120: 1 externes non résolus C:\PROGRA~1\MATLAB\R2011B\BIN\MEX.PL: Error: Link of 'helloWorld.mexw64' failed.
Partager