- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题是链接或包含......库 libircclient.h 已找到,但库中使用的函数没有......
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
/*#include "./libircclient-1.6/include/libircclient.h"*/
#include "libircclient.h"
typedef struct
{
char * channel;
char * nick;
} irc_ctx_t;
void addlog (const char * fmt, ...)
{
FILE * fp; // File-Zeiger
char buf[1024];
va_list va_alist;
va_start (va_alist, fmt);
#if defined (WIN32)
_vsnprintf (buf, sizeof(buf), fmt, va_alist);
#else
vsnprintf (buf, sizeof(buf), fmt, va_alist);
#endif
va_end (va_alist);
printf ("%s\n", buf);
if ( (fp = fopen ("irctest.log", "ab")) != 0 ) // High level, daher File-Zeiger
{
fprintf (fp, "%s\n", buf);
fclose (fp);
}
}
void dump_event (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
char buf[512];
int cnt;
buf[0] = '\0';
for ( cnt = 0; cnt < count; cnt++ )
{
if ( cnt )
strcat (buf, "|");
strcat (buf, params[cnt]);
}
addlog ("Event \"%s\", origin: \"%s\", params: %d [%s]", event, origin ? origin : "NULL", cnt, buf);
}
void event_join (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
dump_event (session, event, origin, params, count);
irc_cmd_user_mode (session, "+i");
irc_cmd_msg (session, params[0], "Hi all");
}
void event_connect (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
irc_ctx_t * ctx = (irc_ctx_t *) irc_get_ctx (session);
dump_event (session, event, origin, params, count);
irc_cmd_join (session, ctx->channel, 0);
}
void event_privmsg (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
dump_event (session, event, origin, params, count);
printf ("'%s' said me (%s): %s\n",
origin ? origin : "someone",
params[0], params[1] );
}
....
gcc irctest.c
/tmp/ccbleNaD.o: In function `event_join': irctest.c:(.text+0x2b9):
undefined reference to `irc_cmd_user_mode' irctest.c:(.text+0x2d4):
undefined reference to `irc_cmd_msg' /tmp/ccbleNaD.o: In function
`event_connect': irctest.c:(.text+0x2fe): undefined reference to
`irc_get_ctx' irctest.c:(.text+0x33b): undefined reference to
irc_cmd_join' /tmp/ccbleNaD.o: In function
dcc_recv_callback':irctest.c:(.text+0x43c): undefined reference to `irc_dcc_msg'
irctest.c:(.text+0x49b): undefined reference to `irc_dcc_msg'
irctest.c:(.text+0x4a7): undefined reference to `irc_strerror' ....
collect2: ld gab 1 als Ende-Status zurück
最佳答案
编译时,您必须链接到库。它正在查找函数声明,但无法链接到包含定义的目标文件。
我认为它会是这样的:gcc -lircclient irctest.c
关于c - libircclient 中函数的链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11477266/
问题是链接或包含......库 libircclient.h 已找到,但库中使用的函数没有...... #include #include #include #include /*#inclu
我通常不是那种会发布问题的人,我更喜欢先搜索为什么某些东西不起作用,但这次我做了我能做的一切,但我就是无法弄清楚哪里出了问题。 事情是这样的: 我目前正在编写一个 IRC Bot,我正在使用 libi
我是一名优秀的程序员,十分优秀!