Roy Varon
Roy Varon

Reputation: 608

Using AMD OpenCL with mingw

I have downloaded and installed AMD APP SDK 3.0. When I try using it with mingw I get an error because CL/cl.hpp has #include <intrin.h> in it (this header is exclusive to VC++).

Is there a different set of header files for mingw? How do I fix it?

Upvotes: 1

Views: 874

Answers (1)

kenba
kenba

Reputation: 4539

I use both MSVC and MinGw 5.3.0 (bundled with QtCreator) to build OpenCL apps on both Intel and AMD Windows 10 systems using AMD APP SDK 3.0 and I have never experienced a build problem that wasn't in my own code!

However, I use the standard C CL/cl.h header file, not the C++ CL/cl.hpp header file...

The cl.hpp and cl2.hpp files provide C++ bindings for the standard C functions, see OpenCL C++ Bindings. If you don't require C++ bindings, the AMD APP SDK 3.0 CL/cl.h header file works fine.

If you want to use C++ Bindings then note that cl.hpp is obsolete; you should use cl2.hpp instead (which doesn't try to include intrin.h unless _MSC_VER is defined)...

An alternative OpenCL C++ binding (that also compiles with MinGw and AMD APP SDK 3.0) is boost compute.

Upvotes: 2

Related Questions