如何编译eMule电驴开源项目

本文主要讲解下怎么编译电驴,希望有基础的朋友看看,如何编译 eMule v0.46b.

先下载下面4个库:
Crypto++5.2.1
http://www.eskimo.com/~weidai/cryptopp521.zip
zlib122.zip
http://www.zlib.net/zlib122.zip
ResizableLib1.3
http://prdownloads.sourceforge.net/resizab…_3.zip?download
lpng128
http://download.sourceforge.net/libpng/lpng128.zip

eMulev0.46b的源代码:
http://www.emule-project.net/home/perl/gen…=16&rm=download

1).eMule0.46b-Sources.zip解压到eMule0.46b-Sources->把下载的文件都放进去->打开eMule0.46b-Sources文件夹

2).cryptopp521.zip解压到cryptopp521->重命名为cryptopp
打开cryptopp/cryptest.dsw
点生成->生成解决方案

3).zlib122.zip解压到zlib122->重命名为zlib
打开zlib/projects/visualc6/zlib.dsw
点生成->配置管理器->活动的解决方案配置->LIBDebug
解决方案资源管理器->右击”zlib”->属性->配置属性->C/C++->代码生成->运行时库->多线程调试(/MTd)
点生成->生成解决方案

4).ResizableLib_1_3.zip解压到当前文件夹
打开ResizableLib/ResizableLib.dsw
点项目->属性->配置属性->常规->MFC的使用->在静态库中使用MFC
点项目->属性->配置属性->常规->字符集->使用Unicode字符集
点项目->属性->配置属性->C/C++->代码生成->运行时库->多线程调试(/MTd)
点项目->属性->配置属性->C/C++->语言->将wchar_t视为内置类型->是(/Zc:wchar_t)
点生成->生成解决方案

5).lpng128.zip解压到当前文件夹->重命名为png
打开png/projects/visualc71/libpng.sln
点生成->配置管理器->活动的解决方案配置->LIBDebug
解决方案资源管理器->右击”libpng”->属性->配置属性->C/C++->代码生成->运行时库->多线程调试(/MTd)
点生成->生成解决方案

6).打开id3lib/libprj/id3lib.sln
点生成->生成解决方案

7).打开srchybrid/lang/lang.sln
点生成->生成解决方案/*可能会出现“非法操作”,这个不用管它.

8).打开srchybrid/CxImage/cximage.sln
点生成->生成解决方案

9).打开srchybrid/emule.sln
点编辑->查找和替换->在文件中替换->查找内容=crypto51替换为=cryptopp->全部替换
点项目->属性->配置属性->链接器->输入->附加依赖项->version.libwinmm.libws2_32.libgdiplus.libADSIId.libcrypt32.lib../zlib/projects/visualc6/Win32_LIB_Debug/zlibd.lib../cryptopp/debug/cryptlib.lib../id3lib/libprj/id3libD.lib./CxImage/debug/cximage.lib../png/projects/visualc71/Win32_LIB_Debug/libpngd.lib../ResizableLib/Debug/ResizableLib.lib
至此,我们的编译工作就完成了,最后可以看一下自己的劳动成果哈。

说明一下,本文的编译环境是:XPproSP2,VS.net2003

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网上下载了emule0.50a-Xtreme8.1-sources源码,声称可以在VS2008下直接编译成功,经我实际测试,系统会报错,其中第一类错误,由于系统中为了兼容VISTA/WIN7,增加了相关定义,而这些定义在XP/WIN2003环境下会报错,共771个错误,如: 错误 2 error C2065: “ITaskbarList3”: 未声明的标识符 d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 195 emule 错误 3 error C2146: 语法错误 : 缺少“;”(在标识符“m_thbButtons”的前面) d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 196 emule 错误 4 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 196 emule 错误 5 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 196 emule 错误 6 error C2146: 语法错误 : 缺少“;”(在标识符“m_currentTBP_state”的前面) d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 198 emule 错误 7 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 198 emule 错误 8 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 198 emule 错误 10 error C2065: “ITaskbarList3”: 未声明的标识符 d:\emule相关资料\emule0.50a-xtreme\emule0.50a-xtreme8.1-sources\srchybrid\emuleDlg.h 195 emule ...... 此类错误中,ITaskbarList3是VISTA/WIN7环境下与任务栏相关的变量,只要屏闭掉相关定义就能正常。 除此之外还报有下面 5 个错误(实际引起错误的位置只有两个): 错误 135 error C2059: 语法错误 : “:” d:\eMule\srchybrid\BaseClient.cpp 1603 emule 错误 136 error C2065: “tagName”: 未声明的标识符 d:\eMule\srchybrid\BaseClient.cpp 1604 emule 错误 137 error C2228: “.WriteTagToFile”的左边必须有类/结构/联合 d:\eMule\srchybrid\BaseClient.cpp 1604 emule 错误 139 error C2001: 常量中有换行符 d:\eMule\srchybrid\BaseClient.cpp 4832 emule 错误 140 fatal error C1057: 宏展开中遇到意外的文件结束 d:\eMule\srchybrid\BaseClient.cpp 4832 emule 此类错误中,实际上是是两个语法错误,由于太过简单,我与网友都怀疑是作者故意制造的错误,若是完全不懂C++的人,即使拿到源码,编也会报错,从而止步于此。而稍懂C++的人(本人即是此类菜鸟),则可以找出错误之处。 为方便诸多象我一样的初学者,我把修正之后,可以在 XP/WIN2003 +VS2003SP1 环境下直接编译成功的emule0.50a-Xtreme8.1-sources源码发布上来,以便互相学习交流。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值