error C4996: ‘Halide::Func::realize’: Call realize() with a vector instead解决
直接从Halide的Tutorials复制过来的源码运行不了,会出现Call realize() with a vector instead的错误,查看Halide::Func::realize源码可以看到下面几个函数以及被弃用了。
解决办法一
一种解决办法是使用大括号初始化列表来把参数传入,才会调用vector的重载函数。
Buffer<int> output = gradient.realize(8, 8);
改成
Buffer<int> output = gradient.realize({8, 8});
解决办法二
另一种解决办法 直接注释HALIDE_ATTRIBUTE_DEPRECATED所在行