Bonjour,
Je cherche à faire tourner un code Matlab employant un fichier mex (*.mexw64) généré par la compilation d'un code source en C++ en utilisant mex, linké avec BLAS.
Ce fichier C++ a été écrit de façon à tourner sur un PC sous XP 32 bits. Il a été écrit et compilé dans cette optique, on retrouve dans son en-tête :
La génération du fichier *.mexw32 correspondant n'avait pas posé de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #if defined(__OS2__) || defined(__WINDOWS__) || defined(WIN32) || defined(_MSC_VER) #define BLASCALL(f) f #else #define BLASCALL(f) f ##_ #endif #include "mex.h" #include "math.h" #include "matrix.hpp" #include <crtdefs.h>
Aujourd'hui, je cherche à faire en sorte que ce fichier C++ soit lisible à partir d'une machine 64bits. Le fichier *.mexw32 précédent n'est pas compatible, j'ai re-généré un nouveau fichier *.mexw64 sans trop de problème...
Mais quand je lance de nouveau mon code, j'ai l'erreur suivante :
Je soupçonne une erreur liée au fait que le code C++ n'est peut-être pas adapté à WinXP64, est-ce bien le cas ? Comment résoudre le problème ?
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 ------------------------------------------------------------------------ Segmentation violation detected at Tue Mar 22 10:20:46 2011 ------------------------------------------------------------------------ Configuration: MATLAB Version: 7.11.1.866 (R2010b) Service Pack 1 Operating System: Microsoft Windows XP x64 Window System: Version 5.2 (Build 3790: Service Pack 2) Processor ID: x86 Family 6 Model 12 Stepping 2, GenuineIntel Virtual Machine: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode Default Encoding: windows-1252 Fault Count: 1 Abnormal termination: Register State (from fault): RAX = 0000000000000dfd RBX = 000000004d119000 RCX = 000000004d119040 RDX = 000000004d119060 RSP = 0000000001534070 RBP = 000000004d119020 RSI = 0000000000000000 RDI = 0000001000000004 R8 = 0000000000000004 R9 = 0000000000000000 R10 = 000000004d0fd080 R11 = 000000004d0fd0a0 R12 = 000000004d0fd0c0 R13 = 000000004d0fd0e0 R14 = 0000000000000dfc R15 = 000000000001bf80 RIP = 00000000703186a2 EFL = 00010246 CS = 0033 FS = 0053 GS = 002b Stack Trace (from fault): [ 0] 0x00000000703186a2 C:/Program Files/MATLAB/R2010bSP1/bin/win64/mkl.dll+03245730 ( xerbla+2912578 ) [ 1] 0x00000000703118c0 C:/Program Files/MATLAB/R2010bSP1/bin/win64/mkl.dll+03217600 ( xerbla+2884448 ) [ 2] 0x000000007005cbe3 C:/Program Files/MATLAB/R2010bSP1/bin/win64/mkl.dll+00379875 ( xerbla+046723 ) [ 3] 0x00000000700208f9 C:/Program Files/MATLAB/R2010bSP1/bin/win64/mkl.dll+00133369 ( ZTRSV+097289 ) [ 4] 0x0000000070003dd7 C:/Program Files/MATLAB/R2010bSP1/bin/win64/mkl.dll+00015831 ( dgemm+000327 ) [ 5] 0x00000000044b1247 U:/Code_MBN/multiply3D.mexw64+00004679 ( mexFunction+000583 ) [ 6] 0x000000007cba4033 C:/Program Files/MATLAB/R2010bSP1/bin/win64/libmex.dll+00016435 ( mexRunMexFile+000131 ) [ 7] 0x000000007cba1fcf C:/Program Files/MATLAB/R2010bSP1/bin/win64/libmex.dll+00008143 ( inSwapMexfileReader+000223 ) [ 8] 0x000000007cba2194 C:/Program Files/MATLAB/R2010bSP1/bin/win64/libmex.dll+00008596 ( inSwapMexfileReader+000676 ) [ 9] 0x000000007af50fce C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00069582 ( Mfh_file::dispatch_fh+000334 ) [ 10] 0x000000007af512df C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00070367 ( Mfunction_handle::dispatch+000511 ) [ 11] 0x000000007b8aa9c4 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00305604 ( inFunctionHandleInterface::DestroyWorkspace+076020 ) [ 12] 0x000000007b8c0b91 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00396177 ( inDestroyWS+085217 ) [ 13] 0x000000007b8f0635 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00591413 ( inDestroyWS+280453 ) [ 14] 0x000000007b8dba29 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00506409 ( inDestroyWS+195449 ) [ 15] 0x000000007b8d292b C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00469291 ( inDestroyWS+158331 ) [ 16] 0x000000007b8d4525 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00476453 ( inDestroyWS+165493 ) [ 17] 0x000000007b8bac13 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00371731 ( inDestroyWS+060771 ) [ 18] 0x000000007b8ba5af C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00370095 ( inDestroyWS+059135 ) [ 19] 0x000000007b8cbfdf C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00442335 ( inDestroyWS+131375 ) [ 20] 0x000000007b8cd399 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00447385 ( inDestroyWS+136425 ) [ 21] 0x000000007b8c16f9 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00399097 ( inDestroyWS+088137 ) [ 22] 0x000000007af50fce C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00069582 ( Mfh_file::dispatch_fh+000334 ) [ 23] 0x000000007af512df C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00070367 ( Mfunction_handle::dispatch+000511 ) [ 24] 0x000000007b8aa9c4 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00305604 ( inFunctionHandleInterface::DestroyWorkspace+076020 ) [ 25] 0x000000007b8c0b91 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00396177 ( inDestroyWS+085217 ) [ 26] 0x000000007b8f0635 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00591413 ( inDestroyWS+280453 ) [ 27] 0x000000007b8dba29 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00506409 ( inDestroyWS+195449 ) [ 28] 0x000000007b8d292b C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00469291 ( inDestroyWS+158331 ) [ 29] 0x000000007b8cbe4a C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00441930 ( inDestroyWS+130970 ) [ 30] 0x000000007b8cd399 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00447385 ( inDestroyWS+136425 ) [ 31] 0x000000007b8c16f9 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00399097 ( inDestroyWS+088137 ) [ 32] 0x000000007af50fce C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00069582 ( Mfh_file::dispatch_fh+000334 ) [ 33] 0x000000007af512df C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00070367 ( Mfunction_handle::dispatch+000511 ) [ 34] 0x000000007b8aa9c4 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00305604 ( inFunctionHandleInterface::DestroyWorkspace+076020 ) [ 35] 0x000000007b8c0b91 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00396177 ( inDestroyWS+085217 ) [ 36] 0x000000007b8f0635 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00591413 ( inDestroyWS+280453 ) [ 37] 0x000000007b8dba29 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00506409 ( inDestroyWS+195449 ) [ 38] 0x000000007b8d292b C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00469291 ( inDestroyWS+158331 ) [ 39] 0x000000007b8cbe4a C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00441930 ( inDestroyWS+130970 ) [ 40] 0x000000007b8cd399 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00447385 ( inDestroyWS+136425 ) [ 41] 0x000000007b8c16f9 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00399097 ( inDestroyWS+088137 ) [ 42] 0x000000007af50fce C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00069582 ( Mfh_file::dispatch_fh+000334 ) [ 43] 0x000000007af512df C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00070367 ( Mfunction_handle::dispatch+000511 ) [ 44] 0x000000007b8aa9c4 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00305604 ( inFunctionHandleInterface::DestroyWorkspace+076020 ) [ 45] 0x000000007b8c0b91 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00396177 ( inDestroyWS+085217 ) [ 46] 0x000000007b8f0635 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00591413 ( inDestroyWS+280453 ) [ 47] 0x000000007b8dba29 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00506409 ( inDestroyWS+195449 ) [ 48] 0x000000007b8d292b C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00469291 ( inDestroyWS+158331 ) [ 49] 0x000000007b8d4525 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00476453 ( inDestroyWS+165493 ) [ 50] 0x000000007b8bac13 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00371731 ( inDestroyWS+060771 ) [ 51] 0x000000007b8ba5af C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00370095 ( inDestroyWS+059135 ) [ 52] 0x000000007b8cbfdf C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00442335 ( inDestroyWS+131375 ) [ 53] 0x000000007b8cd399 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00447385 ( inDestroyWS+136425 ) [ 54] 0x000000007b8c16f9 C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_interpreter.dll+00399097 ( inDestroyWS+088137 ) [ 55] 0x000000007af50fce C:/Program Files/MATLAB/R2010bSP1/bin/win64/m_dispatcher.dll+00
Merci d'avance !!
Larky
Partager