c语言中define函数名,c – 正确使用cpp中的define宏替换函数名称

我在Ubuntu上使用

Eclipse Qualcomm库(在cpp中)

Android SDK.我的应用运行良好.如果我更改了Qualcomm库中的一些代码,它会编译并正常工作.

问题是:我已经更改了项目的名称,我必须更改cpp中的一些代码(函数的名称),如果我不这样做,我会得到一个Java.lang.UNSATISFIEDLINKERROR.

那是因为所有函数的名称都是Android包,如下所示:

Java_org_myproject_marker_MainActivity_onQCARInitializedNative(JNIEnv *, jobject)

然后我定义一个像这样的宏:

#define MAIN_ACTIVITY_PREFIX org_myproject_marker_MainActivity

#define VISUALIZER_PREFIX org_myproject_marker_Visualizer

我通过以下方式更改所有正确的功能:

Java_MAIN_ACTIVITY_PREFIX_onQCARInitializedNative(JNIEnv *, jobject)

但我仍然得到Java.lang.UNSATISFIEDLINKERROR异常.

如果我没有#define宏(并写下所有行),它可以工作,但我想用顶级定义保存cpp代码,如果我需要在其他项目中使用它,它会自动更改所有内容.

我已经读过this tutorial.我不能替换另一个文本中的文本或类似的东西吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值