我遇到以下代码问题。完成.mex文件的编译,但当我尝试从matlab脚本运行它时,我收到一个错误,如
无效的MEX文件 ' myfile.mexa64&#39 ;: ' myfile.mexa64'不是有效的共享库..
mex CFLAGS="$CFLAGS -fopenmp -m64 -Ofast -fPIC --fast-math" ...
CXXFLAGS="\$CXXFLAGS -fopenmp -m64 -Ofast -fPIC --fast-math" ...
LDFLAGS="\$LDFLAGS -fopenmp" ...
CXXOPTIMFLAGS="$CXXOPTIMFLAGS -fopenmp" ...
-lgomp -lfftw3_omp -lfftw3 Fourier_CPU.cpp
n_1 = 100; n_2 = 100; n_3 = 100;
A = rand(n_1,n_2,n_3) + 1i*rand(n_1,n_2,n_3);
fc = @() Fourier_CPU(A,n_1,n_2,n_3);
B = fc();
Fourier_CPU文件是调用某些fftw函数的.cpp文件。我注意,当我在笔记本电脑上运行时,代码正常工作,当我在服务器上运行它时,会出现上述错误。 我认为这必须与库链接有关,但我不确定是什么问题。 任何帮助将不胜感激。