Search code examples
c++apachevisual-studio-2010apache-modules

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


I just am intended to create a custom Apache Module Extension for my project. I am using VS2010 Ultimate edition on Windows Vista 32-bit edition. I started with Win32 DLL project and renamed the extension of the main file to .c.

The project configuration is as follows:

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

When I ran Compile[Ctrl+F7] it generated few errors, which were: C2065, C2167, C2223, C2275 etc. I changed the file extension back to .cpp and compiled it as /TP and it compiled successfully. But instead of getting a required module name as infovalley_module (that I wanted to create) I am having it as ?infovalley_module@@3Umodule_struct@@A.

First of all I wanted to know why ?infovalley_module@@3Umodule_struct@@A? Just because of I am using __cdecl?

Second of all I want to know can't I compile and build a .dll or .so file in VS2010 using a .c extension?

Last of all - I wanted to get enlightened that unlike ?infovalley_module@@3Umodule_struct@@A can't creating a custom module in VS2010 has a proper name like whatsoever auth_basic_module or ssl_module does?

Thank you all in anticipation in advance and sorry for my english term.

Regards,

* Edit *

Invoking apxs -c -i mod_infovalley.c command not only solved this issue but it brought another glitch to light. As I issued the command httpd -t it threw:

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

* Questions *

  1. Any solution(s) to get rid of this?
  2. Can I use apxs from Windows Vista 32-bit system to create custom Apache Module?

Regards,


Solution

  • Downloading the apxs tool for Win32 module and making a few changes in the configuration section has solved this for me. I now can freely build the custom Apache Module for my project with the name I provided for my module.