OpenCL头文件困难

OpenCL头文件困难,opencl,header-files,Opencl,Header Files,因此,我试图建立一种方法来轻松开发OpenCL程序,这是迄今为止学习这种语言最困难的部分。我在源文件中包含了CL/CL.h,但我不断收到编译器错误,这些头不存在。当我将include改为only为cl.h时,它可以工作,但到目前为止,我看到的每个程序都使用cl/cl.h,所以我假设它是某种宏,允许任何一个文件。有什么想法我可以绕过这个或可能的修复 这是我的makefile 项目=ocl_简介 CC=mingw32-g++ CFLAGS=-std=c99-墙 LIB=-lOpenCL ifdef

因此,我试图建立一种方法来轻松开发OpenCL程序,这是迄今为止学习这种语言最困难的部分。我在源文件中包含了CL/CL.h,但我不断收到编译器错误,这些头不存在。当我将include改为only为cl.h时,它可以工作,但到目前为止,我看到的每个程序都使用cl/cl.h,所以我假设它是某种宏,允许任何一个文件。有什么想法我可以绕过这个或可能的修复

这是我的makefile

项目=ocl_简介

CC=mingw32-g++

CFLAGS=-std=c99-墙

LIB=-lOpenCL

ifdef INTELOCLSDKROOT

INC_DIRS="$(INTELOCLSDKROOT)include\CL"

LIB_DIRS="$(INTELOCLSDKROOT)lib\x86
恩迪夫

$(项目):$(项目).cpp

.假冒:干净

清洁:

rm $(PROJ).exe
更改:

INC_DIRS="$(INTELOCLSDKROOT)include\CL"
致:

您正在查找“CL/CL.h”,显然它不会在“include\CL”中找到名为“CL”的文件夹,因为您已经将“CL”文件夹作为搜索路径。现在,您基本上是要求编译器查找“\include\CL\CL\CL.h”,显然编译器将失败,因为此文件不存在

您只需提供“include”文件夹的路径,其余部分由约定完成。

更改:

INC_DIRS="$(INTELOCLSDKROOT)include\CL"
致:

您正在查找“CL/CL.h”,显然它不会在“include\CL”中找到名为“CL”的文件夹,因为您已经将“CL”文件夹作为搜索路径。现在,您基本上是要求编译器查找“\include\CL\CL\CL.h”,显然编译器将失败,因为此文件不存在



您只需提供“include”文件夹的路径,其余部分由约定完成。

您需要告诉编译器头文件和库文件的位置。你的IDE是什么?我在用mingw。我把所有的路都修好了。就像我说的,如果我将include语句改为#include而不是#include,它可以找到文件。我只是看到其他人的代码都在说第二个符号。我甚至改为C++包装器,但是该库对CL/CL H进行了间接调用,但无法找到。呃,头痛你的mingw命令行参数是什么???!我猜您传递的是OpenCL标题的include/CL文件夹,而不是所需的include/CL文件夹。除非你给出实际数据,否则我们无法帮助你,除非你找到诸如“可能”或“我推测”之类有用的答案。我花了好几天的时间试图让别人的程序编译。我只想开始并行编程和学习。你需要告诉你的编译器头文件和库文件在哪里。你的IDE是什么?我在用mingw。我把所有的路都修好了。就像我说的,如果我将include语句改为#include而不是#include,它可以找到文件。我只是看到其他人的代码都在说第二个符号。我甚至改为C++包装器,但是该库对CL/CL H进行了间接调用,但无法找到。呃,头痛你的mingw命令行参数是什么???!我猜您传递的是OpenCL标题的include/CL文件夹,而不是所需的include/CL文件夹。除非你给出实际数据,否则我们无法帮助你,除非你找到诸如“可能”或“我推测”之类有用的答案。我花了好几天的时间试图让别人的程序编译。我只想开始并行编程和学习。啊,谢谢。成功了。我终于可以开始了。对于一个坚实的、难以并行编写的第一个程序,有什么建议吗?试图想出一些可能的事情,但仍然会让我工作。@wolvwxyz先生难吗?您可以尝试在GPU上编写一个路径跟踪器,smallpt样式。它确实需要大量的工作,并将引入许多概念。非常感谢,就像我说的,我已经尝试过Eclipse、VS和OpenCLStudio。我还有一个问题要问。我让g++查找所有库,但现在我遇到了一个问题,即当g++编译cl.hpp中包含的代码时,它不能声明任何使用size\t类型的函数。我将makefile改为std=-c++0x而不是c99,这可以做到吗?我加入了stddef.h,但这似乎无助于解决问题。我需要进入每一个cl头并包含这个库吗?或者它可能是编译器使用的标准吗?不管怎样,我发现你不能使用cl和std名称空间。啊,谢谢。成功了。我终于可以开始了。对于一个坚实的、难以并行编写的第一个程序,有什么建议吗?试图想出一些可能的事情,但仍然会让我工作。@wolvwxyz先生难吗?您可以尝试在GPU上编写一个路径跟踪器,smallpt样式。它确实需要大量的工作,并将引入许多概念。非常感谢,就像我说的,我已经尝试过Eclipse、VS和OpenCLStudio。我还有一个问题要问。我让g++查找所有库,但现在我遇到了一个问题,即当g++编译cl.hpp中包含的代码时,它不能声明任何使用size\t类型的函数。我将makefile改为std=-c++0x而不是c99,这可以做到吗?我加入了stddef.h,但这似乎无助于解决问题。我是否需要进入每个cl头并包含这个库,或者它可能是编译器使用的标准?不管怎样,我发现不能使用cl和std名称空间。
INC_DIRS="$(INTELOCLSDKROOT)include"