windows使用clion运行lua文件,并且使用cjson

需要文件:clion,lua-5.4.2_Win64_bin,lua-5.4.2_Win64_dllw6_lib,lua-cjson-2.1.0.9,mingw64

1,下载安装clion。

2,下载lua windows运行程序

lua官网:http://www.lua.org/download.html
在这里插入图片描述
在这里插入图片描述

3,下载lua-cjson-2.1.0.9

https://github.com/openresty/lua-cjson/releases/tag/2.1.0.9
在这里插入图片描述

3,下载mingw64

https://github.com/niXman/mingw-builds-binaries/releases
在这里插入图片描述

我的安装文件路径
在这里插入图片描述

环境变量配置(放在用户下面就行)

在这里插入图片描述

配置mingw64

把E:\environment\clion-lua\lua-5.4.2_Win64_dllw6_lib的lua54.dll 放在mingw/lib下
在将E:\environment\clion-lua\lua-5.4.2_Win64_dllw6_lib/include下的所有文件放到 mingw/include下

标题lua-cjson配置Makefile

##### Build defaults #####
LUA_VERSION =       5.4  #修改为lua的版本
TARGET =            cjson.so
#修改mingw64文件地址,注意的是将下面的/路径修改为windows的斜杠 \ 不然是找不到的
PREFIX =             E:\environment\clion-lua\mingw64 
#CFLAGS =            -g -Wall -pedantic -fno-inline
CFLAGS =            -O3 -Wall -pedantic -DNDEBUG -g
CJSON_CFLAGS =      -fpic
CJSON_LDFLAGS =     -shared
LUA_INCLUDE_DIR ?=   $(PREFIX)\include
LUA_CMODULE_DIR ?=   $(PREFIX)\lib\lua\$(LUA_VERSION)
LUA_MODULE_DIR ?=    $(PREFIX)\share\lua\$(LUA_VERSION)
LUA_BIN_DIR ?=       $(PREFIX)\bin

##### Platform overrides #####
##
## Tweak one of the platform sections below to suit your situation.
##
## See http://lua-users.org/wiki/BuildingModules for further platform
## specific details.

## Linux

## FreeBSD
#LUA_INCLUDE_DIR =   $(PREFIX)/include/lua51

## MacOSX (Macports)
#PREFIX =            /opt/local
#CJSON_LDFLAGS =     -bundle -undefined dynamic_lookup

## Solaris
#PREFIX =            /home/user/opt
CC =                gcc
#CJSON_CFLAGS =      -fpic -DUSE_INTERNAL_ISINF

## Windows (MinGW)
TARGET =            cjson.dll
#修改mingw64文件地址,注意的是将下面的/路径修改为windows的斜杠 \ 不然是找不到的
PREFIX =            E:\environment\clion-lua\mingw64
CJSON_CFLAGS =      -DDISABLE_INVALID_NUMBERS
CJSON_LDFLAGS =     -shared -L$(PREFIX)\lib -llua54
LUA_BIN_SUFFIX =    .lua

##### Number conversion configuration #####

运行mingw64编译出cjson.dll文件

 在cjson源码路径下, cmd命令终端执行:
 执行命令1: mingw32-make
 执行命令2:  dir *.dll
 拷贝源码路径下的 cjson.dll 到 lua-5.4.2_Win64_bin 下,或者是要使用的文件夹里
 到这里lua-cjson就安装完毕 可以操作json数据了

在clion里运行并使用cjson

1,安装插件:EmmyLua
2,新建一个test.lua文件
3,编辑配置
在这里插入图片描述
设置如下
在这里插入图片描述
确认后点击运行即可。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能基础之数学基础:01高等数学基础

函数 极限 按照一定次数排列的一列数:“,“,…,"…,其中u 叫做通项。 对于数列{Un}如果当n无限增大时,其通项无限接近于一个常数A,则称该数列以A为极限或称数列收敛于A,否则称数列为发散, 极限值 左…

flink-cdc同步数据到doris中

1 创建数据库和表 1.1 数据库脚本 -- 创建数据库eayc create database if not exists ods_eayc; -- 创建数据表2 数据同步 2.1 flnk-cdc 参考Flink CDC实时同步MySQL到Doris Flink CDC 概述 2.1.1 最简单的单表同步 从下面的yml脚本可以看到,并没有doris中创建…

CUDA兼容NVIDA版本关系

CUDA组成 兼容原则 CUDA 驱动(libcuda.so)兼容类型要求比CUDA新向后兼容无主版本一致,子版本旧兼容需要SASS、NVCC比CUDA老向前兼容提取对应兼容包 向后兼容:新版本支持旧版本的内容,关注的是新版本能否处理旧版本的内容。 向前兼容&#…

要配置西门子G120AX变频器实现**端子启停**和**Modbus RTU(485)频率给定

要配置西门子G120AX变频器实现端子启停和Modbus RTU(485)频率给定,需调整以下关键参数: 1. 端子启停控制 P29652[0]:设置启停信号源 (例:P29652 [0] 722.0 表示用DI0端子作为启动/停止信号&…

撕碎QT面具(3):解决垂直布局的内容显示不全

问题:内容显示不全 解决方案:增加Vertical Spacer,它会把Group Box控件挤上去,让内容显示完全。 结果展示:

LabVIEW 中的 ax - events.llb 库

ax - events.llb 库位于C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform目录,它是 LabVIEW 平台下与特定事件处理相关的重要库。该库为 LabVIEW 开发者提供了一系列工具,用于有效地处理和管理应用程序中的各种事件&#xff0…

Macos机器hosts文件便捷修改工具——SwitchHosts

文章目录 SwitchHosts软件下载地址操作添加方案切换方案管理方案快捷键 检测 SwitchHosts SwitchHosts 是一款 Mac 平台上的免费软件,它可以方便地管理和切换 hosts 文件,支持多种 hosts 文件格式。 软件下载地址 SwitchHosts 操作 添加方案 添加 …

【算法】双指针(下)

目录 查找总价格为目标值的两个商品 暴力解题 双指针解题 三数之和 双指针解题(左右指针) 四数之和 双指针解题 双指针关键点 注意事项 查找总价格为目标值的两个商品 题目链接:LCR 179. 查找总价格为目标值的两个商品 - 力扣(LeetCode&#x…

嵌入式linux利用标准字符驱动模型控制多个设备方法

一、驱动模型概述 Linux标准字符设备驱动模型基于以下核心组件: 设备号:由主设备号(Major)和次设备号(Minor)组成 cdev结构体:表征字符设备的核心数据结构 文件操作集合:file_operations结构体定义设备操作 sysfs接口:提供用户空间设备管理能力 传统单设备驱动与多设…

【可实战】Linux 常用统计命令:排序sort、去重uniq、统计wc

在 Linux 系统中,有一些常用的命令可以用来收集和统计数据。 一、常用统计命令的使用场景 日志分析和监控:通过使用 Linux 统计命令,可以实时监控和分析系统日志文件,了解系统的运行状况和性能指标。例如,使用 tail 命…

在 macOS 的 ARM 架构上按住 Command (⌘) + Shift + .(点)。这将暂时显示隐藏文件和文件夹。

在 macOS 的 ARM 架构(如 M1/M2 系列的 Mac)上,设置 Finder(访达)来显示隐藏文件夹的步骤如下: 使用快捷键临时显示隐藏文件: 在Finder中按住 Command (⌘) Shift .(点&#xff…

分享一个解梦 Chrome 扩展 —— 周公 AI 解梦

一、插件简介 周公 AI 解梦是一款基于 Chrome 扩展的智能解梦工具,由灵机 AI 提供技术支持。它能运用先进的 AI 技术解析梦境含义,为用户提供便捷、智能的解梦服务。无论你是对梦境充满好奇,还是想从梦境中获取一些启示,这款插件都…

Git命令行入门

诸神缄默不语-个人CSDN博文目录 之前写过一篇VSCode Git的博文:VSCode上的Git使用手记(持续更新ing…) 现在随着开发经历增加,感觉用到命令行之类复杂功能的机会越来越多了,所以我专门再写一篇Git命令行的文章。 G…

【时时三省】(C语言基础)用N-S流程图表示算法

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 N-S流程图 既然用基本结构的顺序组合可以表示任何复杂的算法结构,那么,基本结构之间的流程线就是多余的了。1973年,美国学者I.Nassi和B .Shneiderman提出…

单元测试junit5

一、idea 安装自动化生成插件jcode5 安装可能不成功&#xff0c;尝试多次安装&#xff1b; 安装成功后&#xff0c;重启idea&#xff0c;再次确认安装是否成功&#xff1b; 二、在需要生成单元测试代码的模块的pom中引入依赖 ......<parent><groupId>org.springf…

Matlab写入点云数据到Rosbag

最近有需要读取一个点云并做处理后&#xff0c;重新写回rosbag。网上有很多读取的教程&#xff0c;但没有写入。自己写入时也遇到了很多麻烦&#xff0c;踩了一堆坑进行记录。 1. rosbag中一个lidar的msg有哪些信息&#xff1f; 通过如下代码&#xff0c;先读取一个rosbag的l…

c++标准io与线程,互斥锁

封装一个 File 类&#xff0c; 用有私有成员 File* fp 实现以下功能 File f "文件名" 要求打开该文件 f.write(string str) 要求将str数据写入文件中 string str f.read(int size) 从文件中读取最多size个字节&#xff0c; 并将读取到的数据返回 析构函数 #…

springboot-ffmpeg-m3u8-convertor nplayer视频播放弹幕效果

学习链接 ffmpeg-cli-wrapper - 内部封装了操作ffmpeg命令的java类库&#xff0c;它提供了一些类和方法&#xff0c;可以方便地构建和执行 ffmpeg 命令&#xff0c;而不需要直接操作字符串或进程。并且支持异步执行和进度监听 springboot-ffmpeg-m3u8-convertor - gitee代码 …

在做题中学习(90):螺旋矩阵II

解法&#xff1a;模拟 思路&#xff1a;创建相同大小的一个二维数组&#xff08;矩阵&#xff09;&#xff0c;用变量标记原矩阵的行数和列数&#xff0c;每次遍历完一行或一列&#xff0c;相应行/列数--&#xff0c;进行对应位置的赋值即可。此题是正方形矩阵&#xff0c;因此…

FreeRTOS任务调度介绍

FreeRTOS 操作系统支持三种调度方式:抢占式调度,时间片调度和合作式调度。 实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少 (1)抢占式调度 每个任务都有不同的优先级,任务会一直运行直到被高优先级任务抢占或者遇到阻塞式的 API 函数,比如vTaskDelay,执…