How to compile .mex from folders path?

11 views (last 30 days)
Gundeep
Gundeep on 6 Feb 2023
Commented: Jan on 9 Feb 2023
I need to compile .mex files from path folder. Is there any command for that or any other process for compiling mex files. Below are the files
Suppose I need to use this function mex_pb_parts_final_selected in demo.m file and it gives me an error mex_pb_parts_final_selected function is not exist. Can someone guide me how I resolve this error? Thanks
  2 Comments
Jan
Jan on 6 Feb 2023
These files are compiled already for MacOS computers. If they cannot be accessed from am M-file, either the folder i not included in the path, or you do not run Matlab on a Mac.
Gundeep
Gundeep on 7 Feb 2023
Hey Jan, I am using windows OS and main.m file I already includes these paths as below
addpath(genpath(('third_party/Tardif')));
addpath('third_party/BSR/grouping/lib');
addpath('mexFunctions');

Sign in to comment.

Accepted Answer

Jan
Jan on 7 Feb 2023
Moved: Jan on 7 Feb 2023
@Gundeep: Prefer using absolute paths. If e.g. the folder "mexFunctions" is in the current folder, use:
addpath(fullfile(cd, 'mexFunctions'))
Maybe addpath() tries to o this automatically, but the explicit definition of the wanted folder is safer.
As I've written already, the mex files are compiled for MacOS and cannot be used under Windows. You need the source codes in C or C++ and compile them for Windows. If you do not find the sources or instructions for a compilation, you have to contact the authors.
  22 Comments
Rik
Rik on 9 Feb 2023
I am not the administrator for that website nor for your computer, so I can't fix that for you. When I right-clicked that link and chose the 'save link as' option I was able to save the tgz file. If you are unable to do so, you will need to contact the administrator for that website, or your computer, or both.
Jan
Jan on 9 Feb 2023
@Gundeep: When I click on this link, the download starts directly. Unpacking fails due to missing rights to create symbolic links, but I assume unpacking with admin privileges will work. The file is too big to be posted here as attachment.
How to download a file from the web is not a Matlab problem.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 7 Feb 2023
Edited: Image Analyst on 7 Feb 2023
I don't understand. Like Jan said it looks like they have already been compiled into mex files. Do you want to compile your demo.m file that uses those .mex files? If so you might need to use the -a option in mcc or else just put the full path to them when you call loadlibrary in your .m file code.
If it says that it can't find mex_pb_parts_final_selected(), then that function is not in your demo.m file like you thought and it's not anywhere on the search path. Try putting it in the same folder as demo.m.
  2 Comments
Gundeep
Gundeep on 7 Feb 2023
Hello, in the below path this function exist mex_pb_parts_final_selected() is located and demo.m file is located on another path. Can you guide me for this?
third_party/BSR/grouping/lib
Image Analyst
Image Analyst on 7 Feb 2023
Which DLL is mex_pb_parts_final_selected() trying to call?
Which DLL is for the Windows platform? You can't call a mex file made for a Mac.
Use the SetPath button on the Home tab of the tool ribbon and make sure you save the path, or make sure you call setpath() after you call setpath().

Sign in to comment.

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!