常见库或开源软件的编译方法
由 zwell 于 周日, 05/25/2008 - 01:19 提交。
如无特殊说明,默认为在Windows Vista + Microsoft Visual Studio 2005环境编译
1 Openssl编译方法
- 到www.openssl.org下载最新源码
- 到www.activestate.com下载并安装ActivePerl
- 进入Visual Studio 2005命令行
- cd /d [openssl解压目录]
- perl Configure VC-WIN32
- ms\do_ms.bat
- nmake -f ms\ntdll.mak
- 如无意外,在[openssl解压目录]\out32dll目录下将生成DLL和对应的LIB文件
2 curl
2.1 VC编译
- 到curl.haxx.se下载最新版本的curl源码包
- 将打开[curl解压目录]\lib目录下的所有文件名为curllib.*改成libcurl.*
- 使用UE替换[curl解压目录]\lib目录下所有文件中的字符串curllib为libcurl
- 打开libcurl工程文件
- 加入USE_SSLEAY USE_OPENSSL CURL_DISABLE_LDAP HAVE_ZLIB_H HAVE_LIBZ预定义
- 为了后期直接通过替换DLL文件升级,将curllib改成dll编译方式
- 定义openssl头文件目录和库文件目录
- 定义zlib头文件目录和库文件目录
- 加入附加库ws2_32.lib ssleay32.lib libeay32.lib winmm.lib zlib1.lib
- 编译。如果你人口不至于很差的话,应该会生成dll和lib库文件。
- 进入Visual Studio 2005命令行
- cd /d [curl解压目录]\src
- nmake -f Makefile.vc8
- 恭喜,这里应该就生成了curl.exe文件
2.2 BC编译
- 到[openssl解压目录]\out32dll目录下执行:
implib -a libeay32_bcb.lib libeay32.dll
implib -a ssleay32_bcb.lib ssleay32.dll
或者
coff2omf -lib:ms ssleay32.lib ssleay32_bcb.lib
coff2omf -lib:ms libeay32.lib libeay32_bcb.lib - cd /d [curl解压目录]\lib
- make -f Makefile.b32
3 Wireshark
- 到www.wireshark.org上下载最新版本
- 安装cygwin,注意一定要安装Devel下面的flex,bison; 还要安装Perl, Archive下面的upzip以及Web下面的wget
- 找到config.nmake
将WIRESHARK_LIBS=c:\wireshark-libs-1.0改成你存放lib的目录
将CYGWIN_PATH=c:\cygwin\bin改成你的目录
将MSVC_VARIANT改成你当前使用的版本 - 下载wireshark需要的库文件
nmake -f Makefile.nmake setup - nmake -f Makefile.nmake all
- 提示ascend-scanner.c和k12text.c和scanner.c中ascendwrap和K12Text_wrap宏定义参数不对,直接使用UE替换wireshark源代码目录下的所有
wrap(n) 1为
wrap() - scanner.c有符号和无符号不匹配,使用UE替换wireshark源代码目录下的所有
(yy_n_chars), (size_t) num_to_read );为
(yy_n_chars), num_to_read ); - lemonflex-tail.inc提示47行什么const相关的错误,直接将TEXT_FUNC (const char *text)去掉const,改成:
TEXT_FUNC (char *text) - packet-e212.c和packet-h264.c提示编码问题
使用UE保存为UTF8格式即可
4 SQLite
- 到http://www.sqlite.org/download.html下载最新版本,注意是sqlite-source-*_*_*.zip这样的文件名,不是整个源代码包
- 解压
- 新建工程文件,添加除了tcpsqlite.c之外的所有C文件
- 预定义中加入NO_TCL
- 加入sqlite3.def模块定义文件
- 编译
»

赞助你们我有什么好处?
发表新评论