【问题描述】
error:passing 'int' to parameter of incompatible type '__SVInt64_t'.
传递的参数类型不兼容。

【根因分析】
排查发现源码内函数svlsr_n_s64_x为隐式声明,在较新的C规范(C99、C11)是不允许不声明直接使用的。
使用隐式声明的函数会造成一些参数传递的错误,编程时,请先声明再使用。
【解决方案】
修改Configure.make,添加对应的函数&参数声明。
在Configure.make的第323行后添加以下内容。
如图所示,代表修改完成。

tips:
①可以添加-Werror编译选项对隐式声明进行检查
②该软件使用的cmake安装方式,选择毕昇编译器进行编译时应执行以下命令进行配置。
编译成功,则会在规划的安装目录下生成lib、include,如下图所示。

【问题描述】
error:passing 'int' to parameter of incompatible type '__SVInt64_t'.
传递的参数类型不兼容。
【根因分析】
排查发现源码内函数svlsr_n_s64_x为隐式声明,在较新的C规范(C99、C11)是不允许不声明直接使用的。
使用隐式声明的函数会造成一些参数传递的错误,编程时,请先声明再使用。
【解决方案】
修改Configure.make,添加对应的函数&参数声明。
在Configure.make的第323行后添加以下内容。
typedef __sizeless_struct vdouble2 { svfloat64_t x, y; } vdouble2;如图所示,代表修改完成。
tips:
①可以添加-Werror编译选项对隐式声明进行检查
②该软件使用的cmake安装方式,选择毕昇编译器进行编译时应执行以下命令进行配置。
编译成功,则会在规划的安装目录下生成lib、include,如下图所示。