单目跟踪位姿项目由对方公司提供应用场景,我方研发核心算法,通过c++实现功能,然后对方公司通过java\js来开发炫酷的界面,共同合作完成,最终对方公司负责销售推广,推向市场。因此,涉及到java界面调用c++核心代码的问题。
现记录一下如何在linux下将c++工程生成动态链接库供java调用:
在qt中,我们可以直接生成动态链接库
生成:
1、新建项目:选择library模板,c++库,一路默认,完成项目创建;
2、接口头文件按照右图来写(注意extern "C"与export)、实现接口的函数实现内容放在同名的cpp文件中,调用相关核心代码;
3、release模式下构建工程,生成4个so文件(其中有三个是软链接,只有一个是真实文件)。
c++调用测试:
1、新建c++项目,项目名称上右键添加库,外部库、浏览库文件目录(即so文件),平台只选linux;
2、包含前者的2个shared头文件,写main函数调用即可。