团结引擎+OpenHarmony 2 xlua编译篇

news2024/12/23 19:59:59

文章目录

  • 前言
  • 一、下载 xlua 源码
  • 二、OpenHarmony SDK
  • 三、开干


前言

提示:我们的 app 鸿蒙化过程 需要用到 xlua ,目前没有适配 OpenHarmony 平台,所以需要重新编译一下。编译有多种方式,但是我只会这一种 就是使用 cmake。


一、下载 xlua 源码

xlua 传送门

下载下来 进入 build 文件内

二、OpenHarmony SDK

我们重新编译需要 用到 OpenHarmony SDK 中的编译工具链
所以需要下载 可以直接下载源码
OpenHarmony 4.1 release
OpenHarmony 工作台
也可以通过 DevEco Studio 进行下载 sdk 可以参考我上篇文章
团结引擎+OpenHarmony 1配置篇
在下载下来的 SDK 中找到 cmake 工具

例如 /Users/mac/workspace/HarmonyOS/DevEco4.1Beta/OpenHarmonySdk/10/native/build-tools/cmake/bin
在这里插入图片描述

三、开干

使用 sh 脚本 直接用

#2 编译适配 OpenHarmony 平台的xlua so库

# 进入build目录
cd /Users/mac/Downloads/xLua-master/build

# 创建构建目录并进入
mkdir -p build_openharmony_53 && cd build_openharmony_53

# 找到 OpenHarmony sdk 中的编译工具
OH_SDK="/Users/mac/workspace/HarmonyOS/DevEco4.0/OpenHarmonySdk/10/native"

#-DCMAKE_TOOLCHAIN_FILE=$OH_SDK/build/cmake/ohos.toolchain.cmake:指定了toolchain文件的位置,该文件包含了针对特定平台(这里是OpenHarmony)的构建规则。
#-DBUILD_SHARED_LIBS=OFF:指示CMake不要构建共享库(动态链接库),而是构建静态库。
#-DCMAKE_INSTALL_PREFIX=./:设置安装目录为当前目录(.表示当前目录)。
#最后的..表示CMakeLists.txt文件(CMake的配置文件)位于当前目录的上一级。
$OH_SDK/build-tools/cmake/bin/cmake --config Release -DCMAKE_TOOLCHAIN_FILE=$OH_SDK/build/cmake/ohos.toolchain.cmake  -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ ..

#这行代码使用make命令来编译和构建项目。CMake已经生成了Makefile文件,make命令会根据这些Makefile文件来构建项目。如果没有指定构建类型(如Debug或Release),则通常会按照CMakeLists.txt中的默认设置进行构建。
make

在这里插入图片描述
放到 Unity Plugin 中直接使用 就可以了
亲测可用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1583602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【UE5 C++】访问修饰符public/protected/private继承

限制类与类之间访问级别的方法 public 在类中创建一个public的部分,即" public: ",public之下的所有内容都是公共的,可以在类之间访问 private(最常见) 如若没有指明修饰符,则默认为private 不能在类的外…

如何保证消息不丢失?——使用rabbitmq的死信队列!

如何保证消息不丢失?——使用rabbitmq的死信队列! 1、什么是死信 在 RabbitMQ 中充当主角的就是消息,在不同场景下,消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式,这些场景包括: 消息被拒绝访问&am…

what is tty?

waht is tty? 黑话:TTY 为什么使用Linux的时候CtrlC就会终止一个命令运行,ta是如何设置的? stty -a 桌面切换 CTRL ALT F1 – 锁屏 CTRL ALT F2 – 桌面环境 CTRL ALT F3 – TTY3 CTRL ALT F4 – TTY4 CTRL ALT F5 – TTY5 CTRL ALT F6 – TTY6

《C++程序设计》阅读笔记【7-堆和拷贝构造函数】

🌈个人主页:godspeed_lucip 🔥 系列专栏:《C程序设计》阅读笔记 本文对应的PDF源文件请关注微信公众号程序员刘同学,回复C程序设计获取下载链接。 1 堆与拷贝构造函数1.1 概述1.2 分配堆对象1.3 拷贝构造函数1.3.1 默…

python画图Matplotlib和Seaborn

python画图Matplotlib和Season 一、Matplotlib1、介绍2、安装3、内容二、Seaborn1、介绍2、安装3、内容一、Matplotlib Matplotlib官网 1、介绍 Matplotlib 是一个 Python 的绘图库,用于创建高质量的二维图表和一些基本的三维图表。它广泛应用于科学计算、数据分析、工程学和…

面试经典算法系列之双指针1 -- 合并两个有序数组

面试经典算法题1 – 合并两个有序数组 LeetCode.88 公众号:阿Q技术站 问题描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#…

LangChain入门:17.使用 ConversationChain实现对话记忆功能

在默认情况下,无论是 LLM 还是代理都是无状态的,每次模型的调用都是独立于其他交互的。也就是说,我们每次通过 API 开始和大语言模型展开一次新的对话,它都不知道你其实昨天或者前天曾经和它聊过天了。 你肯定会说,不可…

全新智慧公厕解决方案,一键查看附近公厕情况

随着城市化进程的不断加快,人口密集地区的公共厕所需求日益增长,而传统的公厕管理方式已经无法满足人们对卫生、便利的需求。为了提升公共卫生设施的管理水平和服务质量,一家智能科技公司近日推出了全新智慧公厕解决方案,通过手机…

Cohere推出全新升级版RAG大型AI模型:支持中文,搭载1040亿参数,现开源其权重!

4月5日,知名类ChatGPT平台Cohere在其官方网站上发布了一款全新的模型——Command R。 据官方消息,Command R拥有1040亿个参数,并且支持包括英语、中文、法语、德语在内的10种语言。这一模型的显著特点之一在于其对内置的RAG(检索增…

【日期】获取当天以及未来三天的日期和周几

// 获取当天以及未来三天的日期和周几getDates() {const today new Date();const dayOfWeek ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];const todayDate today.toDa…

FreeRTOS任务切换学习

FreeRTOS任务切换学习 所谓任务切换,就是CPU寄存器的切换。假设当由任务A切换到任务B时,主要分为两步: 1:需暂停任务A的执行,并将此时任务A的寄存器保存到任务堆栈,这个过程叫做保存现场; 2&am…

Git 安装和配置

下载 Git 网址: https://git-scm.com/download 安装 Git 双击安装包, 开始安装. 修改安装路径, 选择非中文无空格路径: 开始安装: 安装成功: 配置 Git 安装完成后, 在任意文件夹内, 右键, 可以显示两个 Git 选项, 就说明安装成功了.

浅聊java集合框架中的java.util.LinkedList

java集合框架总览 Java集合框架是一个用来代表和操纵集合的统一架构,它为管理和组织对象的集合提供了一组类和接口。这个框架包含三个主要部分:接口、实现和算法。 接口: Collection:这是集合框架的根接口,定义了集…

1.2.3 利用注解配置类取代Spring配置文件

本实战将演示如何使用注解配置类取代Spring配置文件,实现基于注解的IoC容器的配置。 创建新包 在net.huawei.spring根包里创建day03子包。 拷贝类和接口 将day02子包里的类和接口拷贝到day03子包。 创建注解配置类 在day03子包里创建SpringConfig类。在该类上添加…

06 Php学习:字符串

PHP 中的字符串变量 在 PHP 中,字符串是一种常见的数据类型,用于存储文本数据。字符串变量可以包含字母、数字、符号等字符,并且可以进行各种操作和处理。以下是关于 PHP 中字符串变量的一些重要信息: 定义字符串变量&#xff1…

进制转换(2 8 10 16 String)

题目 public class Main {static String s "0123456789abcdef";//m 2 8 10 16public static int res(int n,int m) {StringBuffer sb new StringBuffer(); while(n!0) {sb.append(s.charAt(n%m));n/m;}//转换为对应进制之后String s sb.reverse().toString();ch…

达索PLM助力落地新型工业化

中国新时代新征程推进新型工业化 新型工业化,坚持以信息化带动工业化,以工业化促进信息化,就是科技含量高、经济效益好、资源消耗低、环境污染少、人力资源优势得到充分发挥的工业化道路。 新型工业化以高质量发展为目标。传统工业化注重规…

windows 之 redis非安装版,启动与初始化密码

1、下载redis 免安装版 2、解压后,启动服务 3、双击客服端 4、设置密码 config set requirepass root123456成功后,退出服务再次双击 5、登录 再次执行命名时已经没权限了 使用 auth password 登录 成功后,就可以了 auth root123456 …

简单爬虫(求过审核)

游客可以领取七天vip,愉快的开始爬取吧! 首先从单章入手:逆天邪神漫画 第1话 两世为人 - 漫客栈 一章有很多图片,每一张图片都有自己的地址,目标就是找到一个包,包含这一章所有图片的地址。 打开开发者工具——刷新…

人脸识别业务(基于腾讯人脸识别接口)

使用腾讯云人脸识别接口,基于优图祖母模型。 一、准备工作 人脸识别账号 申请腾讯云服务器账号,生成自己的秘钥。记录秘钥和秘钥ID。 创建人员库 记下人员库id 在配置文件application.yml中添加配置。 plateocr:SecretId: 秘钥IDSecretKey: 秘钥ser…