问题
按照官方教程,准备把pbc编译进去,编译是没啥问题的,结果把dll复制到unity中使用的时候始终报找不到luaopen_xxx
,用vs2019的命令行工具检查了一下dll导出的函数,发现确实没有相应的函数。
dumpbin /exports .\xlua.dll > xlua_func_export.txt
原因
在pbc.c的实现中没有添加导出dll的声明
解决办法
- 找到pbc.c文件,加个导出的宏定义
#if defined(_WIN32)
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT
#endif
DLL_EXPORT int luaopen_pb (lua_State *L)
- 再次编译导出dll