1376Reza1376 0 اشتراک گذاری ارسال شده در 2 آذر، ۱۴۰۰ سلام و خسته نباشید. من یکسری فایل با اسامی disloc.c/disloc_mex.c/disloc.mexa/disloc.mexapi64 دااخل کدی که گرفتم همشون m فایل بودن و به فایل disloc.c ارجاع داده شده ولی ارور میده. اولین ارور که میده میگه اصلا چنین تابعی وجود نداره با این اسم از کامپایلر MinGW استفاده کردم و وقتی عبارت های mex disloc.c و mex disloc_mex.c رو میزنم داخل متلب با این ارور ها مواجه میشم: "undefined reference to "Disloc collect2.exe: error: ld returned 1 exit status mex disloc.c Building with 'MinGW64 Compiler (C)'. Error using mex D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c:20:1: warning: return type defaults to 'int' [-Wimplicit-int] mexFunction() ^~~~~~~~~~~ In file included from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/crtdefs.h:10:0, from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:13, from D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c:22: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/_mingw.h: In function 'mexFunction': C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/_mingw.h:540:36: error: nested function '__debugbreak' declared 'extern' __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void) ^~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/_mingw.h:540:36: error: static declaration of '__debugbreak' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/_mingw.h:539:14: note: previous declaration of '__debugbreak' was here void __cdecl __debugbreak(void); ^~~~~~~~~~~~ In file included from D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c:22:0: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:208:30: error: nested function 'fabsf' declared 'extern' __CRT_INLINE float __cdecl fabsf (float x) ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:208:30: error: static declaration of 'fabsf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:202:25: note: previous declaration of 'fabsf' was here extern float __cdecl fabsf (float x); ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:219:36: error: nested function 'fabsl' declared 'extern' __CRT_INLINE long double __cdecl fabsl (long double x) ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:219:36: error: static declaration of 'fabsl' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:203:30: note: previous declaration of 'fabsl' was here extern long double __cdecl fabsl (long double); ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:230:31: error: nested function 'fabs' declared 'extern' __CRT_INLINE double __cdecl fabs (double x) ^~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:230:31: error: static declaration of 'fabs' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:204:25: note: previous declaration of 'fabs' was here extern double __cdecl fabs (double _X); ^~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:412:28: error: nested function '__fpclassifyl' declared 'extern' __CRT_INLINE int __cdecl __fpclassifyl (long double x) { ^~~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:412:28: error: static declaration of '__fpclassifyl' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:407:22: note: previous declaration of '__fpclassifyl' was here extern int __cdecl __fpclassifyl (long double); ^~~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:438:28: error: nested function '__fpclassify' declared 'extern' __CRT_INLINE int __cdecl __fpclassify (double x) { ^~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:438:28: error: static declaration of '__fpclassify' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:409:22: note: previous declaration of '__fpclassify' was here extern int __cdecl __fpclassify (double); ^~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:460:28: error: nested function '__fpclassifyf' declared 'extern' __CRT_INLINE int __cdecl __fpclassifyf (float x) { ^~~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:460:28: error: static declaration of '__fpclassifyf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:408:22: note: previous declaration of '__fpclassifyf' was here extern int __cdecl __fpclassifyf (float); ^~~~~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:525:28: error: nested function '__isnan' declared 'extern' __CRT_INLINE int __cdecl __isnan (double _x) ^~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:525:28: error: static declaration of '__isnan' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:520:22: note: previous declaration of '__isnan' was here extern int __cdecl __isnan (double); ^~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:546:28: error: nested function '__isnanf' declared 'extern' __CRT_INLINE int __cdecl __isnanf (float _x) ^~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:546:28: error: static declaration of '__isnanf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:521:22: note: previous declaration of '__isnanf' was here extern int __cdecl __isnanf (float); ^~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:565:28: error: nested function '__isnanl' declared 'extern' __CRT_INLINE int __cdecl __isnanl (long double _x) ^~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:565:28: error: static declaration of '__isnanl' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:522:22: note: previous declaration of '__isnanl' was here extern int __cdecl __isnanl (long double); ^~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:611:28: error: nested function '__signbit' declared 'extern' __CRT_INLINE int __cdecl __signbit (double x) { ^~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:611:28: error: static declaration of '__signbit' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:607:22: note: previous declaration of '__signbit' was here extern int __cdecl __signbit (double); ^~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:624:28: error: nested function '__signbitf' declared 'extern' __CRT_INLINE int __cdecl __signbitf (float x) { ^~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:624:28: error: static declaration of '__signbitf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:608:22: note: previous declaration of '__signbitf' was here extern int __cdecl __signbitf (float); ^~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:636:28: error: nested function '__signbitl' declared 'extern' __CRT_INLINE int __cdecl __signbitl (long double x) { ^~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:636:28: error: static declaration of '__signbitl' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:609:22: note: previous declaration of '__signbitl' was here extern int __cdecl __signbitl (long double); ^~~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:687:22: error: nested function 'sinhf' declared 'extern' __CRT_INLINE float sinhf(float _X) { return ((float)sinh((double)_X)); } ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:687:22: error: static declaration of 'sinhf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:685:24: note: previous declaration of 'sinhf' was here extern float __cdecl sinhf(float _X); ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:693:22: error: nested function 'coshf' declared 'extern' __CRT_INLINE float coshf(float _X) { return ((float)cosh((double)_X)); } ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:693:22: error: static declaration of 'coshf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:691:24: note: previous declaration of 'coshf' was here extern float __cdecl coshf(float _X); ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:699:22: error: nested function 'tanhf' declared 'extern' __CRT_INLINE float tanhf(float _X) { return ((float)tanh((double)_X)); } ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:699:22: error: static declaration of 'tanhf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:697:24: note: previous declaration of 'tanhf' was here extern float __cdecl tanhf(float _X); ^~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:723:22: error: nested function 'expf' declared 'extern' __CRT_INLINE float expf(float _X) { return ((float)exp((double)_X)); } ^~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:723:22: error: static declaration of 'expf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:721:24: note: previous declaration of 'expf' was here extern float __cdecl expf(float _X); ^~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:741:22: error: nested function 'frexpf' declared 'extern' __CRT_INLINE float frexpf(float _X,int *_Y) { return ((float)frexp((double)_X,_Y)); } ^~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:741:22: error: static declaration of 'frexpf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:739:16: note: previous declaration of 'frexpf' was here extern float frexpf(float _X,int *_Y); ^~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:755:30: error: nested function 'ldexpf' declared 'extern' __CRT_INLINE float __cdecl ldexpf (float x, int expn) { return (float) ldexp ((double)x, expn); } ^~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:755:30: error: static declaration of 'ldexpf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:753:24: note: previous declaration of 'ldexpf' was here extern float __cdecl ldexpf(float _X,int _Y); ^~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:885:30: error: nested function 'hypotf' declared 'extern' __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} ^~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:885:30: error: static declaration of 'hypotf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:883:24: note: previous declaration of 'hypotf' was here extern float __cdecl hypotf (float x, float y); ^~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:892:22: error: nested function 'powf' declared 'extern' __CRT_INLINE float powf(float _X,float _Y) { return ((float)pow((double)_X,(double)_Y)); } ^~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:892:22: error: static declaration of 'powf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:890:24: note: previous declaration of 'powf' was here extern float __cdecl powf(float _X,float _Y); ^~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:1069:31: error: nested function 'copysign' declared 'extern' __CRT_INLINE double __cdecl copysign (double x, double y) ^~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:1069:31: error: static declaration of 'copysign' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:1063:25: note: previous declaration of 'copysign' was here extern double __cdecl copysign (double, double); /* in libmoldname.a */ ^~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:1076:30: error: nested function 'copysignf' declared 'extern' __CRT_INLINE float __cdecl copysignf (float x, float y) ^~~~~~~~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:1076:30: error: static declaration of 'copysignf' follows non-static declaration C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:1064:24: note: previous declaration of 'copysignf' was here extern float __cdecl copysignf (float, float); ^~~~~~~~~ D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c: In function 'Disloc': D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c:152:16: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration] printf("Warning: model %d is not physical. It will not contribute to the deformation.\n",i+1); ^~~~~~ D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c:152:16: warning: incompatible implicit declaration of built-in function 'printf' D:\Thises\GBIS\GBIS_V1.1\GBIS\DeformationSources\disloc\disloc.c:152:16: note: include '<stdio.h>' or provide a declaration of 'printf' لینک به دیدگاه
ارسال های توصیه شده