Fra*_*ter 5 c linker gcc header-files
我对Nvidia的OpenCl/Cuda框架有疑问,但我认为这是一个gcc链接问题.
的opencl_hello_world.c示例文件使用下面的头文件:
#include "../OpenCL/common/inc/CL/opencl.h"
Run Code Online (Sandbox Code Playgroud)
与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>
Run Code Online (Sandbox Code Playgroud)
所以所有头文件都在同一个文件夹中.
当我编译时,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
...
Run Code Online (Sandbox Code Playgroud)
即使cl.h和其他头文件位于此文件夹中.
搜索了SO后,我改变了opencl.hto中 的包含
#include "cl.h"
#include "cl_gl.h"
Run Code Online (Sandbox Code Playgroud)
我在这里读到:gcc无法找到包含的标题.
但是搞乱框架头文件似乎不怎么样?处理这个问题的正确方法是什么?
您正在使用#include""表单和#include <>,它们不会在相同的路径中搜索.""是项目的本地,并且指定给gcc的-i命令行,<>是-I到gcc指定的"系统"路径.
您可能需要在gcc的命令行中使用-Ipath/to/includes设置包含路径.
| 归档时间: |
|
| 查看次数: |
21104 次 |
| 最近记录: |