Community
cancel
Showing results for 
Search instead for 
Did you mean: 
okramer
New Contributor I
514 Views

OpenCL host code getting compile error: ‘clCreatePipe’ was not declared in this scope

Jump to solution

I'm including CL/cl.hpp. However, I see that 'clCreatePipe' is defined in CL/cl.h. In the comments section of cl.hpp, it explicitely says,

* The interface is contained with a single C++ header file \em cl.hpp and all * definitions are contained within the namespace \em cl. There is no additional * requirement to include \em cl.h and to use either the C++ or original C * bindings it is enough to simply include \em cl.hpp.

 

However, cl.hpp does not declare "clCreatePipe". I will need to include cl.h even though the header says I don't. Is it OK then to also include cl.h (before cl.hpp)?

 

In my code, I tried also adding the cl:: namespace (cl::clCreatePipe), but got the same error.

Tags (3)
0 Kudos
1 Solution
okramer
New Contributor I
231 Views

It looks like I have to do

#define CL_TARGET_OPENCL_VERSION 200

#include <CL/opencl.h>

in my host code, per Appendix 3 in the OpenCL programmers guide. It now compiles.

 

View solution in original post

2 Replies
okramer
New Contributor I
232 Views

It looks like I have to do

#define CL_TARGET_OPENCL_VERSION 200

#include <CL/opencl.h>

in my host code, per Appendix 3 in the OpenCL programmers guide. It now compiles.

 

View solution in original post

MEIYAN_L_Intel
Employee
231 Views

Hi,

 

Yes, you have to define CL_TARGET_OPENCL_VERSION 200 in order to used OpenCL 2.0 features.

 

Thanks

Reply