Можно ли скомпилировать OpenCL с помощью Mingw и Nvidia SDK?
Я знаю, что его официально не поддерживали, но это просто не имеет смысла. Разве библиотеки не предоставляются в виде статически связанных библиотек? Я имею в виду, когда-то скомпилированный с любым компилятором, который может быть и успешно связан, что должно быть проблемой?
Мне удалось скомпилировать и успешно связать мой код с библиотеками OpenCL, поставляемыми с Nvidia SDK, однако исполняемый файл выдает ошибку сегментации в clGetPlatformIDs
, который является первым вызовом OpenCL в моем коде.
Вот моя команда компиляции
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
Обратите внимание, что эти библиотеки были взяты из .sln файла образца кода OpenCL.
Я пробовал различные комбинации этих библиотек, и ничего не работает.
Также есть способ скомпилировать, используя Mingw и ссылку, используя что-то еще? Я не уверен, что еще может быть.