使用mingw32在Windows 7上发生OpenCL CL / cl.h错误

时间:2013-06-16 16:26:52

标签: makefile opencl mingw32

我正在尝试使用mingw32中的以下命令编译我的OpenCL应用程序: mingw32-gcc -o plat plat.c

但是我收到了这个错误:                      CL / cl.h没有这样的文件或目录

我在网上和网站上多次搜索但是找不到任何好的答案。 我做了所有的工作,但它仍然会出错。 我使用AMD Radeon HD 5470并在win 7上安装了最新的催化剂驱动程序和AMD APP SDK 2.8 我已经安装了VS 2012

在我的代码中我使用了几个希望工作的状态,但......它仍然会产生同样的错误

我也用过-I& -L在编译命令中它仍然会出错:CL / cl.h没有这样的文件或目录

我怎么不知道如何使用 make file 来编译代码

任何帮助我的人都会非常感激: mehdioraki59@yahoo.com

我的系统是:dell studio 1558

这是我非常简单的测试代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#ifdef MAC
#include <OpenCL/cl.h>
#else
#include <C:\Program Files (x86)\AMD APP\include\CL\cl.hpp>
//#include <CL/cl.h>    >>>>>>>  i manually disabled this line but there is still error
#endif
int main() {
cl_platform_id             *platforms;
cl_uint                    num_platforms;
cl_int                     i, err, platform_index = -1;
char*                      ext_data;
size_t                     ext_size;
err = clGetPlatformIDs(1, NULL, &num_platforms);
if(err < 0) {
perror("Couldn't find any platforms.");
exit(1);
}
free(platforms);
return 0;
}

2 个答案:

答案 0 :(得分:0)

您需要在构建命令中添加-I“C:\ Program Files(x86)\ AMD APP \ include”,告诉mingw32-gcc在哪里找到CL / cl.h。使用它,#include行应该可以正常工作。

答案 1 :(得分:0)

我终于找到了答案也谢谢你先生: 你的建议如何帮助我更多 我使用这个make文件:     PROJ = qwerty_mehdi     CC =的mingw32-GCC     CFLAGS = -Wall     LIB = -lOpenCL     ifdef AMDAPPSDKROOT      INC_DIRS = “$(AMDAPPSDKROOT)包括”      LIB_DIRS = “$(AMDAPPSDKROOT)的lib \ X86”     其他     ifdef NVSDKCOMPUTE_ROOT      INC_DIRS = “$(NVSDKCOMPUTE_ROOT)\ OpenCL的\ COMMON \ INC”      LIB_DIRS = “$(NVSDKCOMPUTE_ROOT)\ OpenCL的\ common \ lib文件\ Win32的”     万一     万一     $(PROJ):qwerty.c         $(CC)$(CFLAGS)-o $ @ $ ^ -I $(INC_DIRS)-L $(LIB_DIRS)$(LIB)

并删除了这一行:     #include

之后,.exe成功了

在make文件代码行中,qwerty.c是我之前解释过的代码。