не может скомпилировать приложение с libyahoo2 - PullRequest
0 голосов
/ 07 июня 2011

ребята, у меня возникла проблема, которая меня очень беспокоит

у меня мало строк, и при компиляции этого кода во время компиляции * 1007 во время компиляции выдается ошибка

* $ gcc `pkg-config --cflags glib-2.0` main.c -lssl вывод

/tmp/ccQ7vAnA.o: In function `yahoo_ping_timeout_callback':
main.c:(.text+0x4ca): undefined reference to `yahoo_keepalive'
/tmp/ccQ7vAnA.o: In function `yahoo_webcam_timeout_callback':
main.c:(.text+0x6bd): undefined reference to `yahoo_webcam_send_image'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_got_conf_invite':
main.c:(.text+0x86f): undefined reference to `y_list_append'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_conf_userdecline':
main.c:(.text+0x96d): undefined reference to `y_list_remove_link'
main.c:(.text+0x97e): undefined reference to `y_list_free_1'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_conf_userjoin':
main.c:(.text+0xa54): undefined reference to `y_list_append'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_conf_userleave':
main.c:(.text+0xb17): undefined reference to `y_list_remove_link'
main.c:(.text+0xb28): undefined reference to `y_list_free_1'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_conf_message':
main.c:(.text+0xb85): undefined reference to `y_utf8_to_str'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_chat_room_received':
main.c:(.text+0x135d): undefined reference to `yahoo_get_chat_room_list'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_chat_message':
main.c:(.text+0x15c7): undefined reference to `y_utf8_to_str'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_got_buddies':
main.c:(.text+0x1acc): undefined reference to `y_list_append'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_got_im':
main.c:(.text+0x1caa): undefined reference to `y_utf8_to_str'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_webcam_viewer':
main.c:(.text+0x22cc): undefined reference to `yahoo_webcam_accept_viewer'
/tmp/ccQ7vAnA.o: In function `yahoo_logout':
main.c:(.text+0x2528): undefined reference to `yahoo_conference_logoff'
main.c:(.text+0x265e): undefined reference to `yahoo_logoff'
main.c:(.text+0x2671): undefined reference to `yahoo_close'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_login':
main.c:(.text+0x273c): undefined reference to `yahoo_init_with_attributes'
main.c:(.text+0x276a): undefined reference to `yahoo_login'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_login_response':
main.c:(.text+0x27ba): undefined reference to `yahoo_current_status'
/tmp/ccQ7vAnA.o: In function `yahoo_set_current_state':
main.c:(.text+0x2b5a): undefined reference to `yahoo_set_away'
main.c:(.text+0x2b86): undefined reference to `yahoo_set_away'
main.c:(.text+0x2bb2): undefined reference to `yahoo_set_away'
/tmp/ccQ7vAnA.o: In function `ext_yahoo_add_handler':
main.c:(.text+0x2ccb): undefined reference to `y_list_prepend'
/tmp/ccQ7vAnA.o: In function `yahoo_callback':
main.c:(.text+0x3082): undefined reference to `yahoo_read_ready'
main.c:(.text+0x30c5): undefined reference to `yahoo_write_ready'
/tmp/ccQ7vAnA.o: In function `process_commands':
main.c:(.text+0x37b1): undefined reference to `yahoo_send_im'
main.c:(.text+0x37c1): undefined reference to `y_str_to_utf8'
main.c:(.text+0x37fd): undefined reference to `yahoo_send_im'
main.c:(.text+0x390d): undefined reference to `yahoo_conference_message'
main.c:(.text+0x3ad4): undefined reference to `y_list_append'
main.c:(.text+0x3b1e): undefined reference to `y_list_append'
main.c:(.text+0x3b87): undefined reference to `y_list_append'
main.c:(.text+0x3bc3): undefined reference to `yahoo_conference_invite'
main.c:(.text+0x3be4): undefined reference to `y_list_append'
main.c:(.text+0x3c42): undefined reference to `y_list_append'
main.c:(.text+0x3cb7): undefined reference to `y_list_free'
main.c:(.text+0x3d08): undefined reference to `yahoo_conference_addinvite'
main.c:(.text+0x3d27): undefined reference to `y_list_append'
main.c:(.text+0x3d46): undefined reference to `y_list_free'
main.c:(.text+0x3e2c): undefined reference to `y_list_append'
main.c:(.text+0x3e5e): undefined reference to `yahoo_conference_logon'
main.c:(.text+0x3f02): undefined reference to `yahoo_conference_logoff'
main.c:(.text+0x3f16): undefined reference to `y_list_remove'
main.c:(.text+0x40d6): undefined reference to `yahoo_conference_decline'
main.c:(.text+0x40ea): undefined reference to `y_list_remove'
main.c:(.text+0x420b): undefined reference to `yahoo_get_chatrooms'
main.c:(.text+0x4265): undefined reference to `yahoo_get_chat_room_list'
main.c:(.text+0x4383): undefined reference to `yahoo_chat_logon'
main.c:(.text+0x4441): undefined reference to `yahoo_chat_message'
main.c:(.text+0x449b): undefined reference to `yahoo_chat_ignore'
main.c:(.text+0x44f5): undefined reference to `yahoo_chat_ignore'
main.c:(.text+0x4534): undefined reference to `yahoo_chat_logoff'
main.c:(.text+0x4600): undefined reference to `yahoo_set_away'
main.c:(.text+0x4671): undefined reference to `yahoo_get_identities'
main.c:(.text+0x470b): undefined reference to `yahoo_set_identity_status'
main.c:(.text+0x4751): undefined reference to `yahoo_set_identity_status'
main.c:(.text+0x4973): undefined reference to `yahoo_set_yab'
main.c:(.text+0x49fa): undefined reference to `yahoo_webcam_get_feed'
main.c:(.text+0x4a30): undefined reference to `yahoo_webcam_get_feed'
main.c:(.text+0x4a7f): undefined reference to `yahoo_webcam_invite'
/tmp/ccQ7vAnA.o: In function `main':
main.c:(.text+0x4dc0): undefined reference to `yahoo_set_log_level'
main.c:(.text+0x4f44): undefined reference to `y_list_remove_link'
main.c:(.text+0x4f58): undefined reference to `y_list_free_1'
main.c:(.text+0x534e): undefined reference to `y_list_remove_link'
main.c:(.text+0x5362): undefined reference to `y_list_free_1'
/tmp/ccQ7vAnA.o: In function `register_callbacks':
main.c:(.text+0x589a): undefined reference to `yahoo_register_callbacks'
collect2: ld returned 1 exit status

В любом случае я включил заголовок библиотеки из папки, а не из общей библиотеки,

#include "yao/yahoo2.h"
#include "yao/yahoo2_callbacks.h"
#include "yao/yahoo_util.h"

, и я считаю, чтоТо, как я компилирую код, крайне неправильно, и я понятия не имею об этом.ну, кто-нибудь возражает, чтобы избавить меня от этих страданий?

действительно спасибо заранее

источник

http://pastebin.com/TBetQxpF

Что касается ограничения размещения char на stackoverflow, я вставил его в pastebin, надеюсь, это поможет вам понять, о чем я говорю ..

1 Ответ

1 голос
/ 07 июня 2011

Попробуйте добавить -lyahoo2 в вашей строке gcc.

Edit: Похоже, вы должны самостоятельно реализовать функции ext_ *.

С libyahoo2 - README :

"yahoo2_callbacks.h содержит прототипы для функций, которые вы должны воплощать в жизнь. Все эти функции должны быть реализованы вашим кодом. "

Edit2: Попробуйте добавить вызов вашей функции register_callbacks () в самом начале вашей функции main ().

...