#1、error C7555: 使用指定的初始值设定项至少需要“/std:c++20
原因:
此语法特性在C++11已经实现,但msvc在C++20才实现,所以去掉输入参数的名称就行。
对应的文件,找到出错代码,修改“C:\Users\Administrator_bazel_Administrator\3kjhpfis\external\org_tensorflow\tensorflow\lite\core\c\operator.cc”
return new TfLiteOperator{ .custom_name = custom_name,
.version = version,
.init = nullptr,
.free = nullptr,
.prepare = nullptr,
.invoke = nullptr,
.async_kernel = nullptr,
.builtin_code = builtin_code,
.node_index = -1,
.inplace_operator = kTfLiteInplaceOpNone };
修改成:
return new TfLiteOperator{custom_name,
version,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
builtin_code,
-1,
kTfLiteInplaceOpNone};
#2、错误C2065:未声明的标识符
这个问题刚开始有点头痛,经过尝试才发现是文件编码不统一,我是将UTF-8的文件保存成ANSI编码文件,问题就解决了,无语!
最终写了批处理,生成了测试样例,同时借用高手的“GoogleMediapipePackageDll”项目,生成了DLL。
运行图: