Пытаюсь подружить их друг с другом. microhttpd захотел ещё и plibc, ладно, нашёл, поставил. Пример простейший с сайта MHD компилируется:
| Код | #include <microhttpd.h> #include <cstdio> #include <cstdlib> #include <cstring> //------------------------------------------------------------------------- /* mingw32-g++ -Wall -mthreads -DMINGW -DWINDOWS ./main.cpp -o ./main -L"e:/MinGW/lib/" -lmicrohttpd -lplibc */ //------------------------------------------------------------------------- #define PAGE "<html><head><title>libmicrohttpd demo</title>" \ "</head><body>libmicrohttpd demo</body></html>" //------------------------------------------------------------------------- static int ahc_echo(void* cls, \ struct MHD_Connection* connection, \ const char* url, \ const char* method, \ const char* version, \ const char* upload_data, \ unsigned int* upload_data_size, \ void** ptr \ ) { static int dummy; const char* page=(char*)cls; struct MHD_Response* response; int ret; if(strcmp(method,"GET")) { printf("MHD_NO\n"); return MHD_NO; } if(&dummy != *ptr) { *ptr=&dummy; printf("MHD_YES\n"); return MHD_YES; } *ptr=NULL; response=MHD_create_response_from_data(strlen(page), \ (void*)page, \ MHD_NO,MHD_NO \ ); ret=MHD_queue_response(connection,MHD_HTTP_OK,response); MHD_destroy_response(response); return ret; return 0; } //------------------------------------------------------------------------- int main(int argc,char** argv) { printf("Test\n"); struct MHD_Daemon* d; if(argc != 3) { printf("%s PORT SECOND_TO_RUN\n",argv[0]); return 1; } unsigned int port; sscanf(argv[1],"%i",&port); d=MHD_start_daemon(MHD_USE_DEBUG | MHD_USE_THREAD_PER_CONNECTION, \ port, \ NULL, \ NULL, \ &ahc_echo, \ (void*)PAGE, \ MHD_OPTION_END \ ); if(d == NULL) { printf("Error start \'MHD_daemon\'\n"); return 1; } int second_to_sleep; sscanf(argv[2],"%i",&second_to_sleep); sleep(second_to_sleep); MHD_stop_daemon(d); return 0; }
|
Но при запуске тихо умирает, не выводится в консоль даже первый printf. Если закомментировать все функции MHD, тогда работать начинает. Что ему не хватает в этой жизни? Сталкивался-ли кто с подобным поведением microhttpd? |