Closed jeremych1000 closed 8 years ago
You've got a conflict between version of the opencl C++ API - this has been a pain for a while now (see previous complains about OpenCL2 and NVidia).
The problem is the addition of __stdcall, going from here:
void (*)(void*)
to
void (__attribute__((__stdcall__)) *)(void*)
which means that it is specifying a difference calling convention: __stdcall is a different way of pushing function parameters on a stack.
Your solutions are to:
1 - Switch from the version of cl.hpp in the include
directory to the one that comes with
the CUDA sdk
2 - Switch from the headers that come with OpenCL to the ones that were included in
CW3 (copy the opencl_sdk
file over).
I would suggest option 2, as that way you get to control the headers that are available in both you MinGW environment, and in AWS.
Note that for linking, I will be doing the compilation under my AWS runs, so it is my job to make sure that -lOpenCL is used and that it will be available.
Hi,
I've just tried to build using mingw with opencl and tbb included in the library search paths, but have stumbled across this error. Has anyone seen this?
env: mingw64
Happens with CUDA 7.0/lib/Win32, 7.0/lib/x64, 8.0/lib/Win32, and 8.0/lib/x64.