我可以在Visual Studio 2010中使用C构建自定义Apache模块扩展吗

Can I build a custom Apache Module Extension using C in Visual Studio 2010?

本文关键字:自定义 构建 Apache 模块 扩展 Visual Studio 2010 我可以      更新时间:2023-10-16

我只是想为我的项目创建一个自定义的Apache模块扩展。我在WindowsVista 32位版本上使用VS2010Ultimate版本。我从Win32 DLL项目开始,并将主文件的扩展名重命名为.c

项目配置如下:

TargetExtension: .so
RuntimeLibrary: /MD
CallingConvention: /Gd
CompileAs: /TC

当我运行Compile[Ctrl+F7]时,它生成了一些错误,这些错误是:C2065, C2167, C2223, C2275等。我将文件扩展名改回.cpp,并将其编译为/TP,它成功地编译了。但是,我没有将所需的模块名称作为infovalley_module(我想要创建),而是将其作为?infovalley_module@@3Umodule_struct@@A

首先我想知道为什么?infovalley_module@@3Umodule_struct@@A?仅仅因为我在使用__cdecl

其次,我想知道的是,我不能在VS2010中使用.c扩展名编译和构建.dll.so文件吗?

最后,我想了解一下,与?infovalley_module@@3Umodule_struct@@A不同,在VS2010中创建自定义模块不能像auth_basic_modulessl_module那样有一个合适的名称吗?

提前感谢大家的期待,对我的英语学期感到抱歉。

问候,

*编辑*

调用apxs -c -i mod_infovalley.c命令不仅解决了这个问题,而且带来了又一个小故障亮了。当我发出httpd-t命令时,它抛出了:

API module structure `infovalley_module' in file path/to/apache/modules/mod_infovalley.so is garbled - perhaps this is not an Apache module DSO?

*问题*

  1. 有解决方案吗
  2. 我可以使用Windows Vista 32位系统中的apxs创建自定义Apache模块吗

问候,

下载用于Win32模块的apxs工具并在配置部分进行一些更改为我解决了这个问题。我现在可以用我为模块提供的名称为我的项目自由构建自定义Apache模块。