Mex file compilation given include files and library files

4 views (last 30 days)
Hello everyone,
The following is what i want to run:
function make()
mex -g -I C:\Program Files\UHD\include\uhd\multi_usrp.hpp ../MATLAB_USRP_INTERFACE/uhdinterface.cpp ../MATLAB_USRP_INTERFACE/tx_functions.cpp ../MATLAB_USRP_INTERFACE/rx_functions.cpp ../MATLAB_USRP_INTERFACE/mexutil.cpp ../MATLAB_USRP_INTERFACE/uhd_functions.cpp ../MATLAB_USRP_INTERFACE/storage.cpp -L C:\Program Files\UHD\lib\uhd.lib;
% mex -g -I ../MATLAB_USRP_INTERFACE/uhdinterface.cpp C:\Program Files\UHD\include\uhd\usrp\multi_usrp.hpp C:\Program Files\UHD
% mex -g -I ../MATLAB_USRP_INTERFACE/multi_usrp.hpp ../MATLAB_USRP_INTERFACE/uhdinterface.cpp ../MATLAB_USRP_INTERFACE/tx_functions.cpp ../MATLAB_USRP_INTERFACE/rx_functions.cpp ../MATLAB_USRP_INTERFACE/mexutil.cpp ../MATLAB_USRP_INTERFACE/uhd_functions.cpp ../MATLAB_USRP_INTERFACE/storage.cpp -L ../MATLAB_USRP_INTERFACE/uhd.lib;
% mex -g -L ../MATLAB_USRP_INTERFACE/uhd.lib -I ../MATLAB_USRP_INTERFACE/multi_usrp.hpp ;
% mex -g -L C:\ProgramFiles\UHD\lib\uhd.lib ;
end
However i get the following error:
make
C:\PROGRA~1\MATLAB\R2013B\BIN\MEX.PL: Error: 'C:\Program' not found.
Unable to complete successfully.
Error in make (line 17)
mex -g -I C:\Program Files\UHD\include\uhd\multi_usrp.hpp ../MATLAB_USRP_INTERFACE/uhdinterface.cpp
../MATLAB_USRP_INTERFACE/tx_functions.cpp ../MATLAB_USRP_INTERFACE/rx_functions.cpp ../MATLAB
Now what can be wrong?
Thanks a lot
  4 Comments
Ashish Meshram
Ashish Meshram on 13 Apr 2021
Hi Vinayak
I have seen lot of your questions realted to uhdinterface. Were you able to use it.
Thanks
Ashish

Sign in to comment.

Accepted Answer

Jan
Jan on 27 Mar 2019
Edited: Jan on 27 Mar 2019
Replace
mex -g -I C:\Program Files\UHD\include\uhd\multi_usrp.hpp ...
by
mex -g -I "C:\Program Files\UHD\include\uhd\multi_usrp.hpp" ...
You need this, whenever a space occurs in the path or file name.
  6 Comments
Jan
Jan on 30 Mar 2019
Your code tries to include uhd/usrp/multi_usrp.hpp, but this file is not found. Do you include this by:
include <uhd/usrp/multi_usrp.hpp>
% or
include "uhd/usrp/multi_usrp.hpp"
? Is the parent folder of /uhd/usrp/ included in the provided library paths?
VINAYAK KARANDIKAR
VINAYAK KARANDIKAR on 30 Mar 2019
No, actually i had to just include a library called uhd.lib in the mex command. There was a problem doing that. Now everything is sorted out. I have the MEX file now, FINALLY!!!

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!