【发布时间】:2010-09-08 11:24:54
【问题描述】:
我对 Nvidia 的 OpenCl/Cuda 框架有疑问,但我认为这是 gcc 链接问题。
opencl_hello_world.c 示例文件使用以下头文件:
#include "../OpenCL/common/inc/CL/opencl.h"
opencl.h 使用这些头文件:
#include <../OpenCL/common/inc/CL/cl.h>
#include <../OpenCL/common/inc/CL/cl_gl.h>
#include <../OpenCL/common/inc/CL/cl_gl_ext.h>
#include <../OpenCL/common/inc/CL/cl_ext.h>
所以所有头文件都在同一个文件夹中。
当我使用 gcc opencl_hello_world.c -std=c99 -lOpenCL 编译时,我收到以下错误消息:
error: ../OpenCL/common/inc/CL/cl.h: No such file or directory
error: ../OpenCL/common/inc/CL/cl_gl.h: No such file or directory
...
即使cl.h 和其他头文件都位于此文件夹中。
搜索完 SO,然后我将 opencl.h 中的包含更改为
#include "cl.h"
#include "cl_gl.h"
我是怎么读到这里的:gcc Can't Find a Included Header.
但是搞乱框架头文件似乎不是要走的路?处理这个问题的正确方法是什么?
【问题讨论】:
标签: c gcc linker header-files