Короткое Введение:-(версия 4.6.3 GCC, OS-Ubuntu 12.04, работающий вокруг программы веб-сервера мангусты поэтому, когда я бегу, "делает" команду, чтобы собрать и установить мангусту, это сделало прекрасную задачу).
[Part 1 of question]
This question is in reference to this post on stackowerflow.
веб-сервер мангусты helloworld программа
Вэленок ответил на этой почте, дав связь с привет примером программы.
в основном я пытаюсь собрать образец привет код программы, данный на этой связи:-
http://code.google.com/p/mongoose/source/browse/examples/hello.c
и вставленный в этот код уже собрал справочник мангусты. (у справочника есть mongoose.h файл),
Следующее - продукция командной строки для моей компиляции привет программы.
[email protected]:~$ gcc mongoose/hello.c -o mongoose/hello
/tmp/ccroC5Z6.o: In function `callback':
hello.c:(.text+0x32): undefined reference to `mg_get_request_info'
hello.c:(.text+0x96): undefined reference to `mg_printf'
/tmp/ccroC5Z6.o: In function `main':
hello.c:(.text+0xee): undefined reference to `mg_start'
hello.c:(.text+0x103): undefined reference to `mg_stop'
collect2: ld returned 1 exit status
[email protected]:~$
[Часть 2 вопроса]
Теперь, я нахожу внедрения mg_stop, mg_start, mg_printf и mg_get_request_info в mongoose.c файле, таким образом, я собираю mongoose.c файл с-c выбором как:
gcc-c-o mongoose.o mongoose.c
Я думаю, что мой вопрос подобен:-
неопределенная ссылка на функцию, объявленную в *.h файле
но тогда когда я связываю libmongoose.so с-L выбором на gcc, я получаю следующие ошибки:-
(libmongoose.so присутствует в том же самом справочнике, моем cwd),
[email protected]:~/mongoose$ gcc -L libmongoose.so -o hello hello.o mongoose.o
mongoose.o: In function `mg_start_thread':
mongoose.c:(.text+0x1369): undefined reference to `pthread_create'
mongoose.o: In function `load_dll':
mongoose.c:(.text+0xa955): undefined reference to `dlopen'
mongoose.c:(.text+0xa9b4): undefined reference to `dlsym'
collect2: ld returned 1 exit status
также, я продолжаю добираться выше ^^ ошибок, когда я собираю, не используя libmongoose.so
[EDIT] : added -pthread option on gcc, still shows errors :-
mongoose.o: In function load_dll':
mongoose.c:(.text+0xa955): undefined reference to
dlopen'
mongoose.c:(.text+0xa9b4): undefined reference to `dlsym'
collect2: ld returned 1 exit status
Для части 1 и части 2 моего вопроса: Я хочу избавиться от этих ошибок и успешно управлять hello.c образцом программы успешно.
Заранее спасибо.