OpenCL host code getting compile error: ‘clCreatePipe’ was not declared in this scope - OpenCL host code getting compile error: ‘clCreatePipe’ was not declared in this scope 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. Replies: Re: OpenCL host code getting compile error: ‘clCreatePipe’ was not declared in this scope Hi, Yes, you have to define CL_TARGET_OPENCL_VERSION 200 in order to used OpenCL 2.0 features. Thanks Replies: Re: OpenCL host code getting compile error: ‘clCreatePipe’ was not declared in this scope 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. - 2019-12-16

external_document