在过去的几天里,我一直在修改Windows上的mod_pLua(https://sourceforge.net/projects/modplua/或https://github.com/Humbedooh/mod_pLua)。
预先构建的Windows二进制文件可以使用,但是似乎没有使用mod_dbd对数据库连接的支持进行编译。该文档建议启用此功能,您必须使用特定标签进行编译,因此我一直在尝试在VS2010中编译该模块-希望我能够在某个时候获得对mod_dbd的支持-但我已经运行了陷入困境。它只是不会编译。
到目前为止,我所做的是:
我目前遇到的错误是:
错误LNK2019:函数_lua_dbopen C中引用的未解析的外部符号_luaL_openlib C:\ Users \ Michael \ Desktop \ Projects \ C \ mod_plua \ mod_plua.obj
还有这么多:
IntelliSense:类型“ const char ()(cmd_parms * cmd,void * cfg,const char * arg)”的值不能用于初始化“ cmd_func”类型的实体c:\ users \ michael \ desktop \ projects \ c \ mod_plua \ mod_plua.h 394 5
由于我不是C / C ++本地人,所以我对什么地方出了问题只有一个模糊的认识,并且在尝试解决此问题时可能做错了什么。如果有人可以指导我正确的方向(或者更好的是,从头到尾编写一些有关如何编译模块的说明),我会很高兴。
我已经在这里上传了VS2010项目文件和源:https : //dl.dropboxusercontent.com/u/51243175/mod_plua_vs2010.7z
自我解答:
编译失败的主要原因是Lua .lib文件。Microsoft编译器在处理C代码时会做一些奇怪的事情,因此我从LuaBinaries SourceForge存储库(http://sourceforge.net/projects/luabinaries/)中获得了一个适当编译的.lib版本-具体而言,是5.2.3 / Windows库/Dynamic/lua-5.2.3_Win32_dll10_lib.zip(针对VS2010编译)。
这没有启用mod_dbd支持,后者需要Apache APR项目的标头和源,但是确实允许成功编译。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句