美文网首页
COCOS2DX 4.X 加入CJSON 库LUA

COCOS2DX 4.X 加入CJSON 库LUA

作者: 罐头过期 | 来源:发表于2020-01-28 16:07 被阅读0次

刚刚调通在COCOS2DX 4.x 加入 CJSON 到LUA中使用 ,android编译老是提示错误 multiple definition of luaL_setfuncs 。

注意Cocos2dx 4.x需要安装 CMake 3.1X
环境
lua 5.3
windows 10
vs 2015
cocos2dx 4.0
Cmake 3.16

1、修改 frameworks\cocos2d-x\external\lua\cjson\lua_cjson.c 文件行数1323 ,注释 lua_State 函数 。

2、添加 frameworks\cocos2d-x\external\lua\cjson\CMakeLists.txt 文件

cmake_minimum_required(VERSION 3.6)

set(lib_name cjson)
set(target_name ext_${lib_name})

project(${lib_name})

set(${target_name}_src
  fpconv.c
  lua_cjson.c
  strbuf.c
)

add_library(${target_name} STATIC
  ${${target_name}_src}
)

target_include_directories(${target_name} PRIVATE ../luajit/include)
target_include_directories(${target_name} PUBLIC .)

set_target_properties(${target_name}
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    FOLDER "External"
)

3、修改 frameworks\cocos2d-x\external\CMakeLists.txt 文件 行数106

# use lua/js specific libs by property to prevent conflict
if(BUILD_LUA_LIBS)
    add_subdirectory(lua/luajit)
    add_subdirectory(lua/tolua)
    add_subdirectory(lua/cjson)
    add_subdirectory(lua/luasocket)
    set_property(TARGET external APPEND PROPERTY 
        CC_LUA_DEPEND ext_luajit ext_tolua ext_cjson ext_luasocket
    )
endif()

4、修改 frameworks\cocos2d-x\cocos\scripting\lua-bindings\manual\network\lua_extensions.c 文件

#include "lua/cjson/lua_cjson.h"
static luaL_Reg luax_exts[] = {
    {"socket.core", luaopen_socket_core},
    {"mime.core", luaopen_mime_core},
    {"cjson", luaopen_cjson_safe }, 
    {NULL, NULL}
};

5、启动win32 模拟器 cocos compile -p win32

6、启动android APK cocos compile -p android
出现 “BUILD SUCCESSFUL” 编译成功

相关文章

  • COCOS2DX 4.X 加入CJSON 库LUA

    刚刚调通在COCOS2DX 4.x 加入 CJSON 到LUA中使用 ,android编译老是提示错误 multi...

  • skynet cjson

    Skynet早期拥有lua-cjson库,后被sproto取代。由于Lua5.3开始支持整形,但cjson并没有适...

  • 分享一下非常方便的Action库

    这个action库在我项目里的路径为:src/framework/cocos2dx/ActionEx.lua给大家...

  • Lua绑定进阶篇

    之前已经写过两篇文章《Cocos2dx Lua 绑定》详细介绍了,如何在lua中调用c++;《Cocos2dx 插...

  • Cocos2dx lua Xcode Mac

    Cocos2dx lua Xcode Mac 1. 下载Cocos2dx 相关文件 2. 新建Cocos2dX l...

  • CJson

    https://www.kyne.com.au/~mark/software/lua-cjson-manual.h...

  • 解决方法:STM32使用cJSON解析数据失败

    一、问题 在 STM32 移植 cJSON 库后,使用 cJSON_Parse(),解析失败。 使用 cJSON_...

  • Openresty 安装 cjson

    执行完之后可以删除lua-cjson目录在lua脚本中再调用就可以了 https://www.kyne.com.a...

  • cocos2d-x lua quick 2.2.6 (andro

    近期在搞cocos2dx lua 2.2.6 中加入laujit;费了一番周折,这里记录一下,省的别人走弯路。 我...

  • cocos资料

    Cocos 资料大全 Cocos2d-x Lua运行流程 加密 cocos2dx资源和脚本加密quick-lua3...

网友评论

      本文标题:COCOS2DX 4.X 加入CJSON 库LUA

      本文链接:https://www.haomeiwen.com/subject/yufmthtx.html