Могу ли я создать собственное расширение модуля Apache с помощью C в Visual Studio 2010?

Я просто собираюсь создать собственное расширение модуля Apache для своего проекта. Я использую VS2010 Ultimate Edition в 32-разрядной версии Windows Vista. Я начал с проекта 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?

Во-вторых, я хочу знать, не могу ли я скомпилировать и собрать .dll или же .so файл в VS2010 с помощью .c расширение?

И последнее — я хотел получить просветление, что в отличие ?infovalley_module@@3Umodule_struct@@A не может создать собственный модуль в VS2010 имеет собственное имя, как и все auth_basic_module или же ssl_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. Могу ли я использовать apxs из Windows Vista 32-битная система для создания собственного модуля Apache?

С Уважением,

0

Решение

Загрузка утилиты apxs для модуля Win32 и внесение нескольких изменений в раздел конфигурации решили эту проблему для меня. Теперь я могу свободно создавать собственный модуль Apache для своего проекта с именем, которое я указал для своего модуля.

0

Другие решения

Других решений пока нет …