1.下载lua并且配置lua环境 lua官网:http://www.lua.org/download.html


下载这两个文件 并且解压 配置环境变量



配置完lua环境变量后 win+r快捷键 黑窗口输出 lua(如果是54版本输入lua54)

2.下载lua-cjson cjson官网:LuaRocks - The Lua package manager

把这个路径复制 粘贴到网址上面 下载一个zip文件 解压 ,我放到了D盘
3.下载mingw make cjson文件 mingw下载地址:MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64 at SourceForge.net

下载完mingw解压 并且配置环境


打开lua文件 打开lua-5.4.2_WIN64_dllw6_lib

把这个lua54.dll 放大mingw/lib下


在将 lua-5.4.2_Win64_dllw6_lib/include下的所有文件放到 mingw/include下

打开 上一步下载的cjson文件 修改MakeFile文件 如下图:


##### Available defines for CJSON_CFLAGS #####
##
## USE_INTERNAL_ISINF: Workaround for Solaris platforms missing isinf().
## DISABLE_INVALID_NUMBERS: Permanently disable invalid JSON numbers:
## NaN, Infinity, hex.
##
## Optional built-in number conversion uses the following defines:
## USE_INTERNAL_FPCONV: Use builtin strtod/dtoa for numeric conversions.
## IEEE_BIG_ENDIAN: Required on big endian architectures.
## MULTIPLE_THREADS: Must be set when Lua CJSON may be used in a
## multi-threaded application. Requries _pthreads_.
##### Build defaults #####
LUA_VERSION = 5.4
TARGET = cjson.so
PREFIX = D:/
#CFLAGS = -g -Wall -pedantic -fno-inline
CFLAGS = -O3 -Wall -pedantic -DNDEBUG
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
CC = gcc
#CJSON_CFLAGS = -fpic -DUSE_INTERNAL_ISINF
## Windows (MinGW)
TARGET = cjson.dll
PREFIX = D:\lua\lua-5.4.2_Win64_bin
CJSON_CFLAGS = -DDISABLE_INVALID_NUMBERS
CJSON_LDFLAGS = -shared -L$(PREFIX)/lib -llua54
LUA_BIN_SUFFIX = .lua
##### Number conversion configuration #####
## Use Libc support for number conversion (default)
FPCONV_OBJS = fpconv.o
## Use built in number conversion
#FPCONV_OBJS = g_fmt.o dtoa.o
#CJSON_CFLAGS += -DUSE_INTERNAL_FPCONV
## Compile built in number conversion for big endian architectures
#CJSON_CFLAGS += -DIEEE_BIG_ENDIAN
## Compile built in number conversion to support multi-threaded
## applications (recommended)
#CJSON_CFLAGS += -pthread -DMULTIPLE_THREADS
#CJSON_LDFLAGS += -pthread
##### End customisable sections #####
TEST_FILES = README bench.lua genutf8.pl test.lua octets-escaped.dat \
example1.json example2.json example3.json example4.json \
example5.json numbers.json rfc-example1.json \
rfc-example2.json types.json
DATAPERM = 644
EXECPERM = 755
ASCIIDOC = asciidoc
BUILD_CFLAGS = -I$(LUA_INCLUDE_DIR) $(CJSON_CFLAGS)
OBJS = lua_cjson.o strbuf.o $(FPCONV_OBJS)
.PHONY: all clean install install-extra doc
.SUFFIXES: .html .txt
.c.o:
$(CC) -c $(CFLAGS) $(CPPFLAGS) $(BUILD_CFLAGS) -o $@ $<
.txt.html:
$(ASCIIDOC) -n -a toc $<
all: $(TARGET)
doc: manual.html performance.html
$(TARGET): $(OBJS)
$(CC) $(LDFLAGS) $(CJSON_LDFLAGS) -o $@ $(OBJS)
install: $(TARGET)
mkdir -p $(DESTDIR)/$(LUA_CMODULE_DIR)
cp $(TARGET) $(DESTDIR)/$(LUA_CMODULE_DIR)
chmod $(EXECPERM) $(DESTDIR)/$(LUA_CMODULE_DIR)/$(TARGET)
install-extra:
mkdir -p $(DESTDIR)/$(LUA_MODULE_DIR)/cjson/tests \
$(DESTDIR)/$(LUA_BIN_DIR)
cp lua/cjson/util.lua $(DESTDIR)/$(LUA_MODULE_DIR)/cjson
chmod $(DATAPERM) $(DESTDIR)/$(LUA_MODULE_DIR)/cjson/util.lua
cp lua/lua2json.lua $(DESTDIR)/$(LUA_BIN_DIR)/lua2json$(LUA_BIN_SUFFIX)
chmod $(EXECPERM) $(DESTDIR)/$(LUA_BIN_DIR)/lua2json$(LUA_BIN_SUFFIX)
cp lua/json2lua.lua $(DESTDIR)/$(LUA_BIN_DIR)/json2lua$(LUA_BIN_SUFFIX)
chmod $(EXECPERM) $(DESTDIR)/$(LUA_BIN_DIR)/json2lua$(LUA_BIN_SUFFIX)
cd tests; cp $(TEST_FILES) $(DESTDIR)/$(LUA_MODULE_DIR)/cjson/tests
cd tests; chmod $(DATAPERM) $(TEST_FILES); chmod $(EXECPERM) *.lua *.pl
clean:
rm -f *.o $(TARGET)
打开你的cjson路径 输入cmd

在源码路径下, cmd命令终端执行: mingw32-make
执行命令: dir *.dll
拷贝源码路径下的 cjson.dll 到 lua-5.4.2_Win64_bin 下
到这里lua-cjson就安装完毕 可以操作json数据了
本文档详细介绍了如何在Windows上下载并配置Lua环境,包括lua和lua-cjson的安装步骤。首先,从lua官网下载并配置lua环境变量,然后从LuaRocks下载cjson,并将其放在mingw环境中进行编译。最后,通过mingw的make工具生成cjson.dll,并将其放置在lua的bin目录下,完成lua-cjson的安装。这使得用户能够使用lua处理和操作JSON数据。



6558

被折叠的 条评论
为什么被折叠?



