Mex does not accept -g?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello, I have suddenly collided with a rather frightening problem. I have a code that is about an even split between a compiled/gpu-accelerated core and matlab high level stuff. The flow to creating the mex files goes as (ignoring most of the compiler options ofc):
nvcc -g -cuda foo1.cu % creates cuda fatbins in .cpp files
g++ -fPIC -g -c foo1.cpp % compile cpp to object code
(...)
mex -g -c interface.cpp % compile interface
mex -cxx foo1.o foo2.o fooN.o interface.o -output bar % link
And this rewards me with:
'/home/erik-k/code/bar.mexa64' is not a MEX file. For more information, see <a href="matlab: helpview([docroot '/matlab/helptargets.map'],'ENOTMEX')">File is not a MEX file</a>.
make: *** [Makefile:77: bar] Error 255
After some frustration and bisection, I eventually found that removing -g from the interface.cpp compile "fixes" the problem. The biggest thing I cannot understand is, the output from nm shows that the mexFunction symbol IS PRESENT in the "bad" mex file. Does -g break the little hidden "version info" object file that mex makes/links with the input code?
I noticed this began after I upgraded from matlab 2018b to 2019b.
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur MATLAB Compiler dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!