Jthread1.3.1 Jrtplib3.9.1跨平台交叉编译之Android(一)

本文记录了作者在Windows环境下,使用ndk-r8d、cmake2.8和msys1.0,对Jthread1.3.1和Jrtplib3.9.1进行Android平台的交叉编译过程。过程中遇到了头文件找不到、pthread Cancel替换为pthread_Kill等问题,通过修改CMakeLists文件和android.sh脚本解决了问题。虽然参考资料有限,但最终成功生成了libjthread.a和.so库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

折腾two days终于编译OK,主要参考http://blog.csdn.net/nickwar/article/details/9133399 https://github.com/jimjh/JRTPLib-for-Android,资源且少,越发珍贵,做一记录。

1.平台

win7 ndk-r8d cmake2.8   msys1.0

cmake用法百度

2.下载源码解压

!!!.注意目录和子目录均有CmakeLIst,两文件内容不同,位置不要乱动。

先说Jthread编译,src目录下有源码和头文件(编译时遇到最多的错误就是找不见头文件,或者头文件顺序不当引起的诡异error)

在jthread目录下:

1 打开CmakeList文件

注释这些,其实不注释也可以,暂且这么做

# find_package(Threads)
# if (NOT CMAKE_USE_WIN32_THREADS_INIT)
# 	if (NOT CMAKE_USE_PTHREADS_INIT)
# 		message(FATAL_ERROR "Can find neither pthread support nor Win32 thread support")
# 	endif (NOT CMAKE_USE_PTHREADS_INIT)
# endif (NOT CMAKE_USE_WIN32_THREADS_INIT)
2 在jthread下新建一个android-build目录以放置生成好的库及头文件

src/pthread/jthread.cpp的125行,找到pthread_cancel(threadid);并注释之,替换成 pthread_kill(threadid, SIGUSR1);

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值