无效的MEX文件不是有效的共享库,fftw库

时间:2017-11-08 12:09:56

标签: c++ matlab libraries fftw

我遇到以下代码问题。完成.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文件。我注意,当我在笔记本电脑上运行时,代码正常工作,当我在服务器上运行它时,会出现上述错误。 我认为这必须与库链接有关,但我不确定是什么问题。 任何帮助将不胜感激。

0 个答案:

没有答案