lua调用c库时遇到的坑

情景:

主程序编译时引用的lua静态库.编译功能模块的动态链接库时也引用的lua 静态库.

主程序运行lua代码,lua代码中需要加载功能模块库,这个时候lua加载模块失败,报错"multiple lua vms detected".

原因:加载两次lua静态库,创建了两个虚拟机,导致冲突.

解决办法:主程序和模块库都改成引用lua的动态库,加载多次动态库共享一份,不会冲突.