最近在写一个Apache模块,需要链接memcache,忙了一会写好了代码,却发现不能运行,原来未指定memcached.h 的源代码。
这里说明一下memcache是memcache缓存的服务端和客户端,libmemcached是C语言需要用到的库文件,它的下载地址:http://download.tangent.org/。
使用linux命令下载:
wget https://launchpad.net/libmemcached/1.0/1.0.10/+download/libmemcached-1.0.10.tar.gz tar -zxvf libmemcached-1.0.10.tar.gz cd libmemcached-1.0.10 ./configure --prefix=/usr (因为默认的源文件路径是在/usr/lib,默认的头标签在/usr/include,默认的可执行文件在/usr/bin) make (这里可能会出现错误,是因为CC 和 CXX 不存在下载指定一下) **********************ERROR********************* yum install gcc44 gcc44-c++ libstdc++44-devel (apt-get install 也可以) export CC=/usr/bin/gcc44 export CXX=/usr/bin/g++44 ***************************************************** 解决这个错误之后重新 ./configure --prefix=/usr make (如果出现另外一个错误,请换个libmemcached版本。。。) make install
会安装到的东西有
/usr/bin/libmemcached/......
/usr/lib/......
/usr/include/libmemcached .....
现在试试写好的memcache程序如 :
gcc -o testMemcache testMemcache.c -lmemcached
成功!!
哦对了,如果你是64位系统,gcc会说找不到lmemcached 因为64位系统默认的源文件地址是/usr/lib64
将lib 中的 lmemcached 相关内容 copy到lib64中,完美解决。