skynet添加动态库爬坑记录
来源:互联网 发布:天津网络推广和seo 编辑:程序博客网 时间:2024/06/06 21:40
luaxx.lib 从dll 导出
pexports lua53.dll > lua53.def
dlltool -D lua53.dll -d test.def -l test.lib
dlltool 是mingw自带的,
pexport mingw默认没安装,要mingw-get install pexportsundefined reference to `lua_getfield’
导出dll时gcc -shared -o dlltest.dll dlltest.o
是没有把lualib link进来导致链接失败执行 gcc -shared -o dlltest.dll dlltest.o -lua53 错误:cannot find -lua53
要加添参数L,表示要查找的lib目录在哪, -L.表示当前目录。
gcc -shared -o dlltest.dll dlltest.o -L. -llua53编译阶段 说 lua.h找不到
因为没有指定头文件目录,加上-I 例如gcc -c dlltest.c -Isrcdlltest.c: In function ‘luaopen_dlltest’:
dlltest.c:28:5: warning: implicit declaration of function ‘luaL_register’ [-Wimplicit-function-declaration]
luaL_register(L, “dlltest”, mylib);
luaL_register(<5.3才有) 在5.3是没有的,换成 luaL_newlib(L, mylib)(5.3才有);
并且mylib 是要注册过的
skynet提示 在一下路径找不到dlltest
他会去查找一些目录下的dlltest.so,dlltest.lua 但不会去查找dll格式的文件
所以链接阶段改成so即可skynet以及tolua中都有很多Makefile文件,这个要用到mingw 的make命令,将mingw根目录makexxx改名放入环境变量中就可以使用make,会查找makefile文件,执行里面的东西。用来处理复杂的编译、链接过程的。 所以如果是新增的,可以将内容放入他自身的makefile里面,就不用重复那么多上面的步骤了。
提上dlltest.c 代码
#include <Windows.h> #include <lua.h> #include <lauxlib.h> #include <stdio.h> #include <stdlib.h> #include <stdarg.h> #include <lualib.h> #include <math.h> static int mysin (lua_State *L) { double d = luaL_checknumber(L, 1); lua_pushnumber(L, 999); return 1; } static const struct luaL_Reg mylib[] = { {"mysin", mysin}, {NULL, NULL} }; int __declspec(dllexport) luaopen_dlltest(lua_State *L) { luaL_newlib(L, mylib); //luaL_register(L, "dlltest", mylib); return 1; }
添加到skynet后结果
- skynet添加动态库爬坑记录
- skynet.记录.编译(ubuntu)
- php动态添加记录
- skynet
- Skynet
- skynet
- 向DATAGRID中动态添加记录,无数据库连接
- 添加或删除项并动态记录项的值
- jquery动态添加input ——随笔记录
- easyui------向datagrid中动态添加不重复的记录
- 学习记录-Qt窗口控件的动态添加和删除
- jquery动态添加元素绑定事件学习记录
- 记录cell自适应,以及cell内容动态添加问题.
- 记录两个网址:jquery动态添加html代码 以及 图标库
- 添加记录:
- 向datagrid中动态添加不重复的记录,easyuidatagrid添加
- [代码问题记录Q1]c#Listview动态添加数据时阻止重复添加
- 动态添加
- eclipse导出jar包
- UNIX再学习 -- 函数 select、poll、epoll
- js数组去重方法
- hashMap的基础知识
- vtk编译vtkSDI找不到MFC模块的解决方案
- skynet添加动态库爬坑记录
- springboot 集成dubbo
- Android 开发之toolbar使用
- HashMap详解
- 队列
- Java--填充替换数组元素、对数组进行排序、复制数组、数组查询、
- java读取文本
- Beyond compare4.2.0Beta破解注册码 Beyond Compare:代码比较神器
- protege本体开发