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
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"
(j'ai vu qu'on pouvait modifier le mexopts.bat mais pour l'instant j'aimerais déjà que cela fonctionne).
et j'obtiens finalement l'erreur
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.
Merci de votre aide