hiredis示例代码example-ac.c的编译
2013-11-02 17:35
537 查看
在hiredis目录下,有几段示例代码,其中example-ae是最诡异的,直接用gcc编译报了很多错,提示大部分ae函数找不到。后来看了http://m.blog.csdn.net/blog/chlaws/7284948#这篇文章,逐渐有了思路。
1. 首先,在redis-2.6.15/src目录下,找到ae.c、ae.h、ae_epoll.c、config.h、zmalloc.c、zmalloc.h,将它们拷贝到hiredis目录下
2. 用gcc -c ae.c 生成 ae.o, 用gcc -c zmalloc.c生成zmalloc.o,用ar -r libae.a ae.o zmallo.o生成静态库
3. 最后用gcc example-ae.c -I./ libae.a -o example-ae生成可执行文件,
但是编译的过程中,会提示: error: too few arguments to function ‘aeCreateEventLoop’
仔细研究发现,ae.c中的aeCreateEventLoop需要赋一个size的参数,但是example-ae.c中,并没有参数
另外,我发现在hiredis目录下,原有的adapters/ae.h与src目录下的ae.h不完全相同,adapters/ae.h要依赖src中的ae.h,所以在编译时一定要用-I./指定出ae.h头文件的位置,否则编译会找不到ae.h的问题
1. 首先,在redis-2.6.15/src目录下,找到ae.c、ae.h、ae_epoll.c、config.h、zmalloc.c、zmalloc.h,将它们拷贝到hiredis目录下
2. 用gcc -c ae.c 生成 ae.o, 用gcc -c zmalloc.c生成zmalloc.o,用ar -r libae.a ae.o zmallo.o生成静态库
3. 最后用gcc example-ae.c -I./ libae.a -o example-ae生成可执行文件,
但是编译的过程中,会提示: error: too few arguments to function ‘aeCreateEventLoop’
仔细研究发现,ae.c中的aeCreateEventLoop需要赋一个size的参数,但是example-ae.c中,并没有参数
另外,我发现在hiredis目录下,原有的adapters/ae.h与src目录下的ae.h不完全相同,adapters/ae.h要依赖src中的ae.h,所以在编译时一定要用-I./指定出ae.h头文件的位置,否则编译会找不到ae.h的问题
相关文章推荐
- hiredis示例代码example-ac.c的编译出现缺少ae的解决方法总结
- hiredis示例代码example-ac.c的编译出现缺少ae的解决方法总结
- 示例:Visual Studio 2005编译运行C代码
- VS2013 编译运行 OTL 示例代码
- ActiveMQ笔记(1):编译、安装、示例代码
- Android编译示例代码
- 编译 unity3d 的示例代码过程
- Java动态编译执行代码示例
- VS2012通过makefile编译OpenGL红宝书的示例代码
- VS2010编译QWT示例出错 MSB6006: “cmd.exe”已退出,代码为 255
- 解决《UNIX环境高级编程》(APUE)示例代码的编译问题
- CxImage的简单使用(编译-->项目设置-->代码示例(PNG透明贴图))
- Ardupilot编译和运行libraries下面的example例程代码
- 使用IDEA编译spark 1.5并运行example的代码
- COCOS2D-X编译成安卓APP添加友盟统计和百度广告的代码示例
- Linux命令行下编译Android NDK的示例代码
- COCOS2D-X编译成安卓APP添加友盟统计和百度广告的代码示例
- MiniGUI的vxworks环境移植(2): cygwin+tornado交叉编译minigui库和示例代码
- Sublime Text 3 实现C++代码的编译和运行示例
- Sublime Text 3 实现C语言代码的编译和运行(示例讲解)