Trouble linking libraries when building a C MEX file in Xcode

I am trying to build a MATLAB MEX file in Xcode (version 4.6.3) for debugging purposes. I was already able to successfully compile the program in MATLAB (R2013a) using this command:
>> mex src/main.c src/binomial.c src/gaussian1.c src/gaussianU.c src/poisson.c -Iinclude -I/usr/local/include -L/usr/local/lib -lmpfr -output cpdetect_c
When I try to build it in Xcode, the program compiles successfully, but the build fails at the linking stage with errors like this:
Undefined symbols for architecture x86_64:
"_mexErrMsgIdAndTxt", referenced from:
_mexFunction in main.o
"_mexPrintf", referenced from:
_find_gaussian1_change_point in gaussian1.o
_cpdetect in main.o
_find_poisson_change_point in poisson.o
"_mpfr_add", referenced from:
_find_gaussian1_change_point in gaussian1.o
_find_gaussianU_change_point in gaussianU.o
_find_poisson_change_point in poisson.o
"_mxCreateDoubleMatrix_730", referenced from:
_mexFunction in main.o
As described in this post, I have the following settings in Xcode:
>> Other Linker Flags: -lmx -lmex -lmat -lmpfr
>> Header Search Paths: $(MATLABROOT)/extern/include
/Users/myName/Documents/MATLAB/SingleMolecule/Current_Version/cpdetect_c_mex/include
/usr/local/include
>> Library Search Paths: $(MATLABROOT)/bin/maci64 /usr/local/lib
but this is apparently not sufficient for successful linking. What am I missing? Thanks for any suggestions!

1 commentaire

I wonder if you are building a 64-bit MEX in Xcode against 32-bit MATLAB libraries, or vice versa.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Software Development Tools dans Centre d'aide et File Exchange

Produits

Question posée :

Dan
le 21 Jan 2014

Community Treasure Hunt

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

Start Hunting!

Translated by