serf编译

Serf的编译:
编译serf前,需要先安装好openssl,scons,和zlib 
Openssl的安装见openssl安装文档。
Zlib的安装见zlib安装文档。
Scons的安装:
scons APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config  OPENSSL=/usr/local/ssl


scons 
安装路径(windows默认安装路径:C:\Python*\Lib\site-packages)
# python setup.py install --standard-lib 
C:\Python27\Scripts下的
scons-2.5.1.bat
编译:
C:\Python27\Scripts > scons –
出现问题:
C:\Documents and Settings\phill>scons
scons: *** No SConstruct file found.
File "C:\Python26\Lib\site-packages\scons-2.0.1\SCons\Script\Main.py", line 834,
in _main  路径设置错误
需要在有SConstruct文件的目录下运行这个命令,类似于,需要在有Makefile的目录下运行make是一个道理。
C:\SVN\src-trunk\serf>
scons APR=c:\svn\apr APU=c:\svn\apr-util OPENSSL=c:\svn\openssl PREFIX=c:\svn\src-trunk\serf ZLIB=c:\svn\zlib


scons APR=”c:\svn\apr” APU=”c:\svn\apr-util” OPENSSL=”c:\svn\openssl” PREFIX=”c:\svn\src-trunk\serf” ZLIB=”c:\svn\zlib”


Serf编译过程中出现的问题:
deflate_buckets.obj : error LNK2019: 无法解析的外部符号 _inflateEnd,该符号在函数 _serf_deflate_destroy_and_data 中被引 用
deflate_buckets.obj : error LNK2019: 无法解析的外部符号 _crc32,该符号在函数 _serf_deflate_read 中被引用
deflate_buckets.obj : error LNK2019: 无法解析的外部符号 _inflate,该符号在函数 _serf_deflate_read 中被引用
deflate_buckets.obj : error LNK2019: 无法解析的外部符号 _inflateInit2_,该符号在函数 _serf_deflate_read 中被引用
libserf-1.dll : fatal error LNK1120: 4 个无法解析的外部
fatal error LNK1120: 6 个无法解析的外部命令error LNK2019: 无法解析的外部符号 _deflate
虽然已经包含了zlib\zconf.h相关的文件和路径和相关的动态库文件,但是还是会报错
解决方法:
zlib库的导出函数原型,如:ZEXTERN intZEXPORT deflateEnd OF((z_streamp strm));
注意红色的ZEXPORT ,其原型在zconf.h文件里面定义:
#ifndef ZEXPORT
#  define ZEXPORT 
#endif
默认的ZEXPORT宏,只是个空符号罢了,而实际是其应该表示函数的调用方式。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
解决方法:
在zconf.h文件将ZEXPORT宏的定义改成下面的形式即可:
#ifndef ZEXPORT
#  define ZEXPORT WINAPI
#endif


加serf重新编译:
编译svn工程的命令:
Svn编译创建工程python gen-make.py -t dsp --with-zlib=..\zlib --with-serf=serf --with-apr=..\apr --with-apr-util=..\apr-util --with-apr-iconv=..\apr-iconv --with-sqlite=..\sqlite-amalgamation --with-openssl=..\openssl
增加serf之后 
需要添加  --with-serf=serf  编译 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值