ThomasYeoLab / CBIG

MIT License
570 stars 380 forks source link

compile MARS_DT_Boundary.c into mex file #32

Closed snapfinger closed 2 years ago

snapfinger commented 2 years ago

Expected situation

Successful compilation into .mexa64 file

Actual situation

Error output:

Error using mex /tmp/mex_3712286831561570_15131/MARS_DT_Boundary.o: In function MARS_DT_Boundary': MARS_DT_Boundary.c:(.text+0x64): undefined reference toMin_HeapAllocate' MARS_DT_Boundary.c:(.text+0xb3): undefined reference to Min_HeapInsert' MARS_DT_Boundary.c:(.text+0xd9): undefined reference toMin_HeapEditKeyIndexID' MARS_DT_Boundary.c:(.text+0x124): undefined reference to Min_HeapGetCurrSize' MARS_DT_Boundary.c:(.text+0x140): undefined reference toMin_HeapExtract' MARS_DT_Boundary.c:(.text+0x1bb): undefined reference to Min_HeapIdIsInHeap' MARS_DT_Boundary.c:(.text+0x1d1): undefined reference toMin_HeapQueryKeyIndexID' MARS_DT_Boundary.c:(.text+0x213): undefined reference to Min_HeapEditKeyIndexID' MARS_DT_Boundary.c:(.text+0x290): undefined reference toMin_HeapFree' collect2: error: ld returned 1 exit status

Steps to reproduce the issue (optional)

Do mex MARS_DT_Boundary.c in command window in MATLAB R2020b I'm on Ubuntu 18.04, I've also downloaded min_heap.c, min_heap.h, libmin_heap.a the files that seem to be related to MARS_DT_Boundary.c, but the error stays

rubykong commented 2 years ago

@snapfinger Thanks for letting us know. We haven't tested the CBIG repo in Matlab2020. We might do it in a near future. Can you try Matlab2018 and see if you still have the error?