Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VS2010中编译特定的apache模块_C_Apache_Visual Studio 2010_Visual C++_Lua - Fatal编程技术网

在VS2010中编译特定的apache模块

在VS2010中编译特定的apache模块,c,apache,visual-studio-2010,visual-c++,lua,C,Apache,Visual Studio 2010,Visual C++,Lua,在过去的几天里,我一直在修补Windows(或Windows)上的mod_pLua 预构建的Windows二进制文件非常有用,只是它似乎没有使用mod_dbd支持数据库连接进行编译。文档表明,要启用此功能,必须使用特定的标记进行编译,因此我一直在尝试在VS2010中编译该模块-希望我能够在某个时候获得mod_dbd支持-但我遇到了一个障碍。它只是无法编译 到目前为止我所做的: 包括apache/include和apache/lib,这消除了很多 错误 包括lua5.2中的lauxlib.h、l

在过去的几天里,我一直在修补Windows(或Windows)上的mod_pLua

预构建的Windows二进制文件非常有用,只是它似乎没有使用mod_dbd支持数据库连接进行编译。文档表明,要启用此功能,必须使用特定的标记进行编译,因此我一直在尝试在VS2010中编译该模块-希望我能够在某个时候获得mod_dbd支持-但我遇到了一个障碍。它只是无法编译

到目前为止我所做的:

  • 包括apache/include和apache/lib,这消除了很多 错误
  • 包括lua5.2中的lauxlib.h、lua.h、luaconf.h和lualib.h,消除了许多错误
  • 从Lua5.2源代码编译了一个.lib文件并将其包含在内,修复了一些错误
我目前遇到的错误是:

错误LNK2019:未解析的外部符号\u luaL\u openlib在函数\u lua\u dbopen C:\Users\Michael\Desktop\Projects\C\mod\u plua\mod\u 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项目文件和来源:

自我回答:

编译失败的主要原因是Lua.lib文件。Microsoft编译器在处理C代码时会做一些奇怪的事情,因此我从LuaBinaries SourceForge repository()获得了一个适当编译的.lib版本,具体来说是5.2.3/Windows Libraries/Dynamic/lua-5.2.3_Win32_dll10_lib.zip(为VS2010编译)


这并没有启用mod_dbd支持,它需要Apache APR项目的头文件和源文件,但它允许成功编译。

您真的不应该使用mod_pLua,我已经有近3年没有使用它了;)您应该改用mod_lua,它与httpd捆绑在一起,工作方式基本相同(尽管它不支持mod_pLua那样的php脚本)


对于DBD特定的设置(特别是如何在Windows上使用它),请参见

类似php的脚本正是我想要的,否则我会使用mod_lua或luvit