Я просто собираюсь создать собственное расширение модуля 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?
* Вопросы *
apxs
из Windows Vista 32-битная система для создания собственного модуля Apache?С Уважением,
Загрузка утилиты apxs для модуля Win32 и внесение нескольких изменений в раздел конфигурации решили эту проблему для меня. Теперь я могу свободно создавать собственный модуль Apache для своего проекта с именем, которое я указал для своего модуля.
Других решений пока нет …