昨天想安装个Luaplus的环境,可是遇到了不少问题,在此记录下。
Luaplus的官方网站是http://luaplus.org/
官网上只有使用git进行更新的源码,我一直没有连上。在下载页面中的文件没有源码,只有3种OS环境下编译出的二进制文件。
网上找了不少源码,找到了个用vs2005可编译的源码工程。(在csdn中搜到的,搜索的关键字是 luaplus学习 )。
自己机器上只有vs2008,于是就尝试使用08进行编译。
用vs2008进行工程转换后,编译,3个error如下:
出错的原因是这3个函数在定义之前进行了调用。如下为调用这3个函数的地方:
处理也很简单,将上述3个调用函数定义移至被调用函数的下面即可。
如此编译就可以通过,但是在使用这个静态库的时候链接就会报错,找不到先前出错的3个函数的符号!
再回来仔细看代码,发现上述3个调用函数定义在一对宏之间:
这对宏的作用很明显,就是去除C++的函数命名方式,用C的方式进行符号链接。
于是将这对宏加在移动的3个函数外围。
编译,链接,OK!编译的静态库就可以正常运行了!