我有一个带有两个参数的现有JNI方法。已经存在了一段时间,在使用中,所以我不想改变它,以免愤怒的客户的愤怒被释放。
但是,我现在需要进行调整。
所以,我想,使用额外参数制作第二个重载方法,并弃用双参数版本。那部分很好,jar构建并运行没有问题。
问题出现在C ++方面...我定义了两个方法,一个是另一个的包装器(两个参数调用三个参数版本),但是,当我去导出这两个方法时,我收到:< / p>
Error 1 error C2733: second C linkage of overloaded function 'Java_com_xxx' not allowed
那么,我该怎么做才能保留旧方法名称并使用新参数添加新方法?这可行吗?
答案 0 :(得分:0)
在Java文件上运行javah
,声明本机方法,您将看到需要两个不同的Java_com_xxx
函数。 C级声明必须是唯一的。