我已将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库? 如果您需要我提供更多信息,请告诉我。
答案 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都将无法运行。