как dlopen так файл в разработке модуля apache с apxs

Я пытаюсь открыть файл так в модуле apache с этим кодом:

#include <dlfcn.h>
#include <stdbool.h>
#include <httpd.h>
#include <http_protocol.h>
#include <http_config.h>static int helloworld_handler(request_rec* r)
{
if (!r->handler || strcmp(r->handler, "helloworld"))
return DECLINED;

if (r->method_number != M_GET)
return HTTP_METHOD_NOT_ALLOWED;// here i try to load so file --------------------------------
typedef bool (*hello_t)();
void *handle;

handle = dlopen ("/lib.so", RTLD_LAZY);
hello_t echo = (hello_t) dlsym(handle, "echo");

echo();// ------------------------------------------------------------
return OK;
}

static void register_hooks(apr_pool_t* pool)
{
ap_hook_handler(helloworld_handler, NULL, NULL, APR_HOOK_MIDDLE);
}module AP_MODULE_DECLARE_DATA helloworld_module = {
STANDARD20_MODULE_STUFF,
NULL,
NULL,
NULL,
NULL,
NULL,
register_hooks
};

я включил заголовочный файл dlfcn.h, но не работал!
компилируем с этим: apxs -i -a -c mod_helloworld.c
Я пытаюсь скомпилировать с -ldl: apxs -i -a -c Wc, -ldl mod_helloworld.c, но не работает. у меня есть эта ошибка в dlerror ():
/usr/lib/apache2/modules/mod_helloworld.so: неопределенный символ: echo

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]