build出错,日志里显示“expected external declaration opencl”是什么意思?

wsqcwg 2015-04-10 02:45:33
clCreateProgramWithSource通过
但buildprogram返回-11(CL_BUILD_PROGRAM_FAILURE)

kernel已经删至最简

const sampler_t sampler2 = CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_LINEAR | CLK_NORMALIZED_COORDS_FALSE;

__kernel void fusion_yuv_in_a_row(__global const float *maptable,
read_only image2d_t yimg,
read_only image2d_t uvimg,
write_only image2d_t dst_yimg,
write_only image2d_t dst_uvimg,
int width_fusion,//输出图像宽度
int width_view,//view宽度
int width_trans,//过渡带宽度
int height,//输出图像高度
int org_w,//原始图像单图宽度(用来确定write_imagef的偏移量)
int viewnum)
{
int src_offset, dst_offset;
int src_offset_left, src_offset_right;
int pixloc, pixloc_left, pixloc_right;
float mapx, mapy, mapx_left, mapx_right, mapy_left, mapy_right;
float4 src_val, src_val_left, src_val_right;

int i;

int x = (int)get_global_id(0);
int y = (int)get_global_id(1);

int width_mono = width_view - width_trans;
int width_lut = width_view + width_trans;
}


报错-11
日志里显示
:446:1: error: expected external declaration
}
^

error: front end complier failed build.


请问这是什么原因
...全文
1334 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘤鸣求友 2015-07-23
  • 打赏
  • 举报
回复
读取文件的地方改成这个试试:
program_handle = fopen(filename, "rb");
fronteer 2015-07-03
  • 打赏
  • 举报
回复
有两点: 1) OpenCL kernel 中能能 单独声明 constant 吗? constant 应该是从 Host 端作为参数传给 kernel. 或者用 #define 进行宏 定义. 2) CLK_ADDRESS_CLAMP_TO_EDGE , CLK_FILTER_LINEAR , CLK_NORMALIZED_COORDS_FALSE 这些宏也需要 有头文件声明
F_GSong 2015-07-03
  • 打赏
  • 举报
回复
同问,等待解答

602

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧