How can I run a mex function using Matlab R2018b, which worked fine with R2015a?

1 次查看(过去 30 天)
Hi, I am using Matlab R2018b since a few months.
For certain problems I use https://de.mathworks.com/matlabcentral/fileexchange/30819-fast-inpolygon-in-mex because the standard matlab routine inpolygon is very slow.
I added a simple openmp parallelisation in the c-code to speed up the routine with
#pragma omp parallel for private(nIntersect, ax, ay, bx, by, tmp, intersecty, ind, iC) num_threads(nT)
The compiled mex function works perfectly if I use MATLAB R2015a. But if I use R2018b, I get the following error:
Invalid MEX-file 'PATH/mex_function.mexa64': dlopen: cannot load any more object with static TLS.
The mex function which does not include openmp works fine with R2018b and R2015a.
It is very annoying to run an old MATLAB just for using this function.
Thanks in advance for your help!
  1 个评论
Walter Roberson
Walter Roberson 2019-11-25
https://stackoverflow.com/questions/19268293/matlab-error-cannot-open-with-static-tls has further information about the situation

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB Compiler 的更多信息

标签

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by