Mingw と Nvidia SDK を使用して OpenCL をコンパイルすることは可能ですか?
公式にサポートされていないことは承知していますが、それは意味がありません。ライブラリは静的にリンクされたライブラリとして提供されていませんか? どんなコンパイラでもコンパイルされ、正常にリンクされたら、何が問題になるのでしょうか?
コードをコンパイルして、Nvidia の SDK で提供される OpenCL ライブラリに正常にリンクすることができましたが、実行可能ファイルはclGetPlatformIDs
コード内の最初の OpenCL 呼び出しである Segmentation Fault をスローします。
ここに私のコンパイルコマンドがあります
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
これらのライブラリは、サンプル OpenCL コードの .sln ファイルから取得したものであることに注意してください。
これらのライブラリのさまざまな組み合わせを試しましたが、何も機能しないようです。
また、Mingw を使用してコンパイルし、別のものを使用してリンクする方法はありますか? 他に何があるかわかりません。