在带有make和Luarock的lua中安装CJSON失败

在带有make和Luarock的lua中安装CJSON失败,lua,failed-installation,cjson,Lua,Failed Installation,Cjson,我的目标是在Windows 10(64位)上安装带有Luarock的cjson,这是我迄今为止所做的: 尝试通过make进行安装: 将其放在路径“C:\torch”上,并手动设置以下所有路径变量(请参阅问题) Path=“C:\torch\bin;%Path% LUA_CPATH=“C:\torch\bin\?.dll;” LUA_DEV=“C:\torch;” LUA_PATH=“C:\torch\LUA\?;C:\torch\LUA\?.LUA;C:\torch\LUA\?\init.L

我的目标是在Windows 10(64位)上安装带有Luarock的cjson,这是我迄今为止所做的:

尝试通过make进行安装:

  • 将其放在路径“C:\torch”上,并手动设置以下所有路径变量(请参阅问题)
    • Path=“C:\torch\bin;%Path%
    • LUA_CPATH=“C:\torch\bin\?.dll;”
    • LUA_DEV=“C:\torch;”
    • LUA_PATH=“C:\torch\LUA\?;C:\torch\LUA\?.LUA;C:\torch\LUA\?\init.LUA;”
  • 将此版本的放在以下文件夹中:“C:\Users\username\Desktop\lua-cjson-2.1.0”
  • 使用make版本3.81、cmake 3.13.2安装mingw,并将“C:\mingw\msys\1.0\bin\”和“C:\Program Files\cmake\bin\”添加到Path变量中
  • 取消对Windows(MingGW)变量的注释,并在lua-cjson-2.1.0的Makefile中设置前缀=C:\torch\
  • 通过管理shell转到“C:\Users\username\Desktop\lua-cjson-2.1.0”
  • make install”产生以下输出:
再次尝试luarocks也不起作用:

  • 调用“C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat”x64
    • 然后调用“luarocks make”,如中所述
    • 这将产生以下输出:

安装过程有什么问题?

您的Windows安装是否缺少编译所需的某些依赖项?就像VisualStudioIDE中包含的一样。感谢您快速回答!我不太熟悉VS,我只是安装了它,因为我读到初始化调用vcvarsall.bat后应该调用“luarocks make”来修复其他一些cl命令问题。如何包含其他库?包含string.h(原始问题:strncasecmp)就足够了吗?有趣的是:在我的设置中是否有一种直接使用Luarock安装软件包的有效方法?
cc -c -O3 -Wall -pedantic -DNDEBUG  -IC:\torch CJSON_CFLAGS =   -DDISABLE_INVALID_NUMBERS/include -fpic -o lua_cjson.o lua_cjson.c

make: cc: Command not found

make: *** [lua_cjson.o] Error 127`
cl /nologo /MD /O2 -c -Folua_cjson.obj -IC:/torch/include lua_cjson.c -DDISABLE_INVALID_NUMBERS lua_cjson.c

        cl /nologo /MD /O2 -c -Fostrbuf.obj -IC:/torch/include strbuf.c -DDISABLE_INVALID_NUMBERS strbuf.c

        strbuf.c(98): warning C4311: "type conversion": pointer truncation from "strbuf_t *" to "long"

        strbuf.c(172): warning C4311: "type conversion": pointer truncation from  "strbuf_t *" to"long"

        cl /nologo /MD /O2 -c -Fofpconv.obj -IC:/torch/include fpconv.c -DDISABLE_INVALID_NUMBERS fpconv.c

        link -dll -def:cjson.def -out:cjson.dll C:/torch/lib/libluajit.lib lua_cjson.obj strbuf.obj fpconv.obj

        Microsoft (R) Incremental Linker Version 14.10.25019.0

        Copyright (C) Microsoft Corporation.  All rights reserved.

        Bibliothek "cjson.lib" und Objekt "cjson.exp" werden erstellt.

        lua_cjson.obj : error LNK2019: Reference to unresolved external symbol "strncasecmp" in function "json_is_invalid_number".

cjson.dll : fatal error LNK1120: 1 nicht aufgelöste Externe

Error: Build error: Failed compiling module cjson.dll`