【发布时间】:2015-07-17 18:43:42
【问题描述】:
我使用的是 C 而不是 C++
我正在尝试在 C 中使用 memcached_exist,但出现此错误:
undefined reference to `memcached_exist'
这是我的代码:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <libmemcached/memcached.h>
int main(int argc, char *argv[]) {
memcached_server_st *servers = NULL;
memcached_st *memc;
memcached_return rc;
char *key= "keystring";
char *value= "keyvalue";
// memcached_server_st *memcached_servers_pars (char *server_strings);
memc= memcached_create(NULL);
servers= memcached_server_list_append(servers, "localhost", 11211, &rc);
rc= memcached_server_push(memc, servers);
rc= memcached_set(memc, key, strlen(key), value, strlen(value), expire, flag);
rc = memcached_exist(memc, key, strlen(key));
我正在编译:-lmemcached -lmemcachedutil
由于我使用的是 C,因此此解决方案不起作用:
ibmemcached Linking Error: undefined reference to `memcached_exist'
【问题讨论】:
-
仔细阅读问题中的最后两个代码 sn-ps 并查看青色突出显示的文本。
-
@Olaf 对不起,我是色盲...什么突出显示的文字?
-
@Olaf 无论如何我的意思是为什么我得到一个“未定义的引用”......文件在 /usr/include/libmemcached-1.0/
-
我知道这不是你问的,但你定义的函数
memcached_exist()是否打算无限递归(直到堆栈中断)?回到主题,请提供一个完整的示例,仅因为一个问题而无法编译。 -
@WeatherVane 更新问题