2012-08-12 71 views
1

我已將FFTW庫(http://www.fftw.org/)連接到我在C++中創建的自定義mentalray DLL(使用NetBeans在Linux(CENTOS)上編譯的DLL文件。在一個文件夾中添加自定義插件的軟件(Autodesk Maya)問題是我已經在計算機上安裝了FFTW,並且我不知道如何將Maya鏈接到FFTW庫在窗口上,我將把FFTW DLL放到包含該應用程序啓動exe文件的maya.exe文件
基本上我的問題是一個普通的LINUX程序員是如果我在Linux上安裝FFTW庫並創建一個.dll鏈接到它的軟件如何獲得軟件鏈接到FFTW庫? 讓我知道如果你需要我提供更多的信息.​​.如何將FFTW庫連接到軟件?

回答

1

您不需要做任何特別的事情 - 只要FFTW庫位於預期位置(/usr/local/lib),那麼您就可以正常鏈接(gcc ... -lfftw3 ...)。

+0

我已將它們鏈接到我創建的.so文件,但是當我運行調用我的.so文件的應用程序時,無法找到FFTW文件。 – RohitWesley 2012-08-13 03:32:52

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

爲了安全起見,您可以同時做到這一點。

sudo make install只要您的mental ray「DLL」常規使用fftw(即導入fftw.h文件),就會將fftw「DLLs」放在正確的位置。

當您嘗試構建「DLL」時檢查鏈接器錯誤。如果您看到鏈接器錯誤,則忽略運行sudo make install,無論您使用fftw做什麼,您的DLL都無法工作。