Luatos-lua For MacOSX

0x00 缘起

看到Luatos-soc-pc项目能够编译到MacOS平台并且运行,所以尝试编译;可是Apple Clang编译器太过于严格,导致编译不通过。遂换到gcc-11编译通过,虽然其中依旧会报错(宏定义LUA_USE_MACOSX不起作用,导致不支持的头文件被编译而报错),但在xmake中配置工具链以及修改LuatOS源码后,编译通过。本贴特此记录,并存储编译后的工件,以备后用。

0x01 环境

硬件:Macbook Air 2020,Apple Silicon M1, 16 GBRAM

软件:MacOS14.6.1 (23G93) Sonoma,xmake v2.9.4+20240729,Xcode,Homebrew,gcc-11,VScode

0x02 操作

  1. 安装gcc-11,使用homebrew,不需要替换全局c编译器(不需要修改~/.bash_profile,通过xmake配置工具链)

  2. 拉取LuatOS和luatos-pc两个项目。

  3. 在luatos-pc项目中,修改xmake文件,添加一行"set_config("toolchain","gcc-11")",设置工具链。

  1. 此时编译可以试试,但是我会出错。修改LuatOS中的文件,将"luat/models/luat_lib_i2c.c"中的870行的条件编译注释掉,同时保留返回0的函数"l_i2c_scan()"。

注意:编译非虚拟机时,就要放开注释!

  1. 可以进行编译了,如以下代码:
bash 复制代码
xmake clean -a
xmake

xmake将默认识别系统以及CPU架构,所以能够编译成功。

0x03 资源

编译好的资源:https://download.csdn.net/download/u010160146/89636710

0x04 参考资料

  1. https://gitee.com/openLuat/LuatOS

  2. luatos-soc-pc: LuatOS在Windows/Linux/Mac等PC系统上的适配

  3. xmake 工具链

  4. xmake 安装

  5. mac编译器由默认的clang切换为gcc_mac 安装 gcc 而不是 clang-CSDN博客

  6. 将 Mac OS X 系统的 C、C++ 编译器从默认的 Clang 切换到 GCC_ghc mac-CSDN博客

  7. 🌟MacOS 切换 Clang 为 GCC_macos clang的别名为gcc-CSDN博客【推荐】

0x05 后记

  • Just Do it!
相关推荐
小溪彼岸2 天前
macOS自带截图命令ScreenCapture
macos
晶振厂家-晶发电子2 天前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F137298015572 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
三佛科技-187366133972 天前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设
TESmart碲视2 天前
Mac 真正多显示器支持:TESmart USB-C KVM(搭载 DisplayLink 技术)如何实现
macos·计算机外设·电脑
李永奉2 天前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
bing_feilong2 天前
STM32精准控制水流
单片机·嵌入式硬件
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件