MingwとNvidia SDKを使用してOpenCLをコンパイルすることはできますか?Mingw Nvidia SDKでOpenCLをコンパイル
正式にはサポートされていませんが、意味が分かりません。ライブラリは静的にリンクされたライブラリとして提供されていませんか?私は一度、どのコンパイラでコンパイルされていても、正常にリンクされていることを意味します。問題は何でしょうか?
NvidiaのSDKで提供されているOpenCLライブラリにコードをコンパイルしてもうまくリンクすることができましたが、コードでclGetPlatformIDs
にセグメンテーションフォルトがスローされます。
はここで、これらのライブラリは、サンプルのOpenCLコードのの.slnファイルから取られたこと
x86_64-w64-mingw32-g++ -std=c++11 File.cpp \
-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\x64" \
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" \
-gcoff -lOpenCL -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 \
-lshell32 -lole32 -loleaut32 \
-luuid -lodbc32 -lodbccp32 -luser32 -lgdi32 -lmingwex -m64 \
-DWIN32 -D_DEBUG -D_CONSOLE
注意私のコンパイルコマンドです。
私はこれらのライブラリのさまざまな組み合わせを試みましたが、何も動作していないようです。
また、Mingwを使用してコンパイルし、何か別の方法でリンクする方法はありますか?私は何か他のものがあるかもしれないか分からない。
VC++ Expressを使用してホストコードを構築してみませんか?また、32ビットまたは64ビットのlibsを使用していますか? CUDA \ v5.0 \ lib \ x64と-luse32 -lcomdlg32 -ladvai32 ... -m64の混乱が混在していますが、これらのライブラリはすべて必要ですか?コマンドラインを単純化する。 –
64ビット、私のC++コードはC++ 11の機能を使用しているので、VC++は使えません。私はlibsを削除して追加しようとしました。 – omarzouk