2010-12-06 24 views
2

私はVisual Studio 2008でC#を使用してアプリケーションをコーディングしています。私はインテルの数学ライブラリといくつかのフォーラムに付属のドキュメントを読んできましたが、答えは出られませんでした。MKL v9.xを管理対象のC++ DLLに静的にリンクしてFFTを計算する方法は?

シナリオ:FFTを計算するために管理C++ DLLに静的にリンクMKLのv9.xをしようとする のVisual Studioに2008

リンカコマンドを使用して、私がでてるのはここ

です:C:\ Projects \ Acquisition Toolkit \ Mainline \ Lib \ Win32 "/ DLL: /OUT:" C:\ Projects \ Acquisition Toolkit \ Mainline \ Builds \ Debug \ AcquisitionToolkit.FFT.dll "/ INCREMENTAL/NOLOGO/LIBPATH/MANIFEST/MANIFESTFILE: "Debug \ Win32 \ AcquisitionToolkit.FFT.dll.intermediate.manifest"/MANIFESTUAC: "level = 'asInvoker' uiAccess = 'false'"/DEBUG/ASSEMBLYDEBUG/PDB: "c:\ Projects \ Ac/NXCOMPAT/MACHINE:X86 /KEYFILE:"AcquisitionToolkit.snk "/ ERRORREPORT:PROMPT mkl_c.lib mkl_ia32.lib libguide40.lib kernel32。 LIB user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib UUID.LIB ODBC32.LIB ODBCCP32.LIB

リンクする際、未解決の外部の取得:

1 > FFT.obj:警告LNK4248: 'DFTI_DFT_Desc_struct'の未解決のtyperefトークン(0100000E)。画像は、実行時に

を実行することはできません、それは記述子構造体の形式を知らなかったと思われるので、DftiCreateDescriptorへの呼び出しでクラッシュ:

// FFTディスクリプタ DFTI_DESCRIPTOR_HANDLEのDESCを作成します。 long val = DftiCreateDescriptor(& desc、DFTI_DOUBLE、DFTI_REAL、1、length);

// FFT記述子をコミットします DftiCommitDescriptor(desc); mkl_dfti.hヘッダーファイルが含まれています。

私たちが必要とする追加のヘッダーファイル、またはリンクする必要がある追加のライブラリはありますか?

実際にその記述子構造体はどこに定義されていますか?

mkl_c_dll.libを使用して動的にリンクしようとしましたが、未解決の外部リンカー警告が表示されました。

必要な他のリンカーオプションはありますか?

誰かが私に何らかのガイダンス/助けを与えることができれば幸いです。私は本当にそれを感謝します。

ありがとうございます!

+0

IntelのWebページにはmkl 9がありません。私は最新の10.2評価版をインストールしましたが、それをリンクする際に問題はありませんでした。http://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-compiling-and-linking-with-microsoft-visual-cc/?wapkw=(mkl+9) C:¥Program Files¥Intel¥MKL¥9.xx¥ia32¥libの一部の.libファイルが欠落しているだけです。私の場合は、フォルダ内のすべてのlibファイルをリンクするだけです。 –

+0

mkl9が古くなっていることは知っていますが、使用するように要求されています。だから私は最新の10.2をインストールすることができません。 –

答えて

0

私の知る限り、C++/clrとの動的リンクのみが可能です。つまり、/ clrは/ MT [d]と互換性がありません。/MD [d]でコンパイルされたライブラリにリンクして、同じランタイムを使用する必要があります。私はあなたが動的リンクを行うときになぜ失敗するのかわからないが、間違った記述子の理論が正しく聞こえる。

編集:あなたの状況ではオプションかどうかわからないが、CUDAをGPUではるかに高速にFFT(カフ)を実行します。

関連する問題