我在一个.cl文件中编写了一个 OpenCL 内核。它尝试了#include几个标题。
它的编译失败,因为包含的头文件“未找到”。我知道clBuildProgram可以-I dir选择将目录添加dir到要搜索头文件的目录列表中。
在 khronus 网站论坛中,这篇文章http://www.khronos.org/message_boards/viewtopic.php?f=37&t=2535讨论了这个问题。
他们建议使用clCreateProgramWithSourcewhich 指定所有源(包括 .h 文件)。
我有一个关于这个问题的问题:
- 哪个选项更好?(
clBuildProgram与clCreateProgramWithSource,如上所述) - 如果我使用
clCreateProgramWithSource编译器如何知道要包含什么?我的意思是,哪个来源代表哪个包含的文件名? - 如果我使用
clBuildProgram并且有多个包含包含文件的目录,我该如何指定它们?