如何将FFTW库连接到软件?

时间:2012-08-12 13:33:53

标签: linux dll centos maya fftw

我已将FFTW库(http://www.fftw.org/)连接到我用C ++创建的自定义mentalray DLL(我在Linux上编译的DLL文件(CENTOS)使用netbeans。我把这个DLL在软件(Autodesk Maya)中添加自定义插件的文件夹。问题是我在计算机上安装了FFTW,我不知道如何将Maya链接到FFTW库。在Windows上我会将FFTW dll放在文件夹中包含作为应用程序启动exe文件的maya.exe文件 基本上我对普通LINUX程序员的问题是,如果我在linux上安装FFTW库并为链接到它的软件创建.dll如何让软件链接到FFTW库? 如果您需要我提供更多信息,请告诉我。

2 个答案:

答案 0 :(得分:1)

您不需要做任何特殊的事情 - 只要FFTW库位于预期的位置(/usr/local/lib),那么您就可以正常链接到gcc ... -lfftw3 ...)。

答案 1 :(得分:1)

确保编译正确的版本:fftw浮动(即fftwf)与fftw双打。例如,您应该有一个libfftw3f.3.so文件。

如果您使用dlopen来调用fftw中的函数,请将您生成的.so文件放在$PATH的某个位置。

如果mental ray“DLL”是静态库,则应使用--enable-static --disable-shared配置fftw并运行sudo make install

如果mental ray“DLL”是动态库,则应使用--disable-static --enable-shared配置fftw并运行sudo make install

为了安全起见,你可以做到这两点。

只要您的mental ray“DLL”按常规使用fftw(即导入sudo make install文件),

fftw.h会将fftw“DLL”放在正确的位置。

尝试构建“DLL”时检查链接器错误。如果您看到链接器错误,则忽略了运行sudo make install,无论您使用fftw做什么,您的DLL都将无法运行。