使用VS(Visual Studio)生成能在安卓上运行的C++动态链接库

有时我们在网上克隆下来的C++项目是只能运行在PC上,不支持在安卓上运行,比如我工作中就遇到需要将ODE(Open Dynamics Engine)这个物理库迁移到安卓上,使得项目能调用ODE的代码,那么就可以使用VS将C++代码编译成一个安卓能调用的.so文件(类似Windows的DLL),采用这种方法的好处是不用下载Android Studio,而且VS傻瓜式的操作,让我们编译安卓项目变得更简单。

  • 准备工作

1. 首先是下载VS,能搜到这里来的应该都下好了VS了吧,所以这里就不赘述了。以下我都是以Visual Studio 2019为例。

2. 打开Visual Studio Installer,选中“使用C++的移动开发”,然后点击“修改”就可以安装相应的组件了。如图:

这样准备工作就准备好了。

  • 创建安卓项目

1.打开VS,新建安卓的“动态共享库”项目,笔者这里以ode为例,如图:

2. 创建后会自动创建一个头文件和实现文件,如图:

这个自动生成模板其实是两个例子,第一个例子是如果想在安卓上实现类对象的创建,就完善类的内容,比如图中头文件里的“ode_ndk”类,另一个例子是如果只是想调用一个函数,那么就直接在实现文件中完成“ode_ndk()”这个函数,当然名字都是可以变的,这些都是自动生成的。

 3. 引用C++库:由于这个例子并不需要自己实现什么,只是想将Windows上的项目能在安卓上使用,所以自动生成的实现文件和头文件都是没有必要的,可以删除,但只移除pch.h就好,不要删除,如图:

 通过添加现有项,将ode工程添加到项目中,并将ode的文件拖入我们创建的“ode_ndk”工程里,如图:

这样的代码都还是同一份代码。 

  •  ​​​​​设置项目属性

1. 需要手动设置一下项目的属性,按需设置,比如头文件路径,宏定义,如图:

2.还需要取消使用预编译头和添加链接依赖项,如图:

设置完点击“应用”。

  • 生成

点击生成,就可以静静等待编译和链接了,如图:

 

这样就拥有了编译好的.so文件

 

  • 如果运行时报没有找到.so文件,需要考虑一下是否是平台体系和.so文件体系不一致,比如

 

ARM64对应arm64,ARM对应armv7 

 

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值