第一次编译0.46b没成功,后来有又尝试了几种方式,综合了下,对原来的网络资源错误的地方做了修改,正确的编译方法如下:
先下载下面4个库:
Crypto++ 5.2.1
http://www.eskimo.com/~weidai/cryptopp521.zip
zlib123.zip
http://www.zlib.net/zlib123.zip
ResizableLib 1.3
http://prdownloads.sourceforge.net/resizablelib/ResizableLib_1_3.zip?download
lpng128
http://download.sourceforge.net/libpng/lpng128.zip
eMule v0.46b的源代码:
http://www.emule-project.net/home/perl/general.cgi?l=16&rm=download
1.eMule0.46b-Sources.zip解压到 eMule0.46b-Sources ->把下载的软件都放进去->打开eMule0.46b-Sources文件夹
2.cryptopp521.zip解压到 cryptopp521 ->重命名为cryptopp
打开 cryptopp/cryptest.dsw
点 生成 -> 生成解决方案
3.zlib123.zip解压到 zlib123 ->重命名为zlib
打开 zlib/projects/visualc6/zlib.dsw
点 生成 -> 配置管理器 ->活动的解决方案配置 ->LIB Debug
解决方案资源管理器 -> 右击 "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/visualc6/libpng.sln
点 生成 -> 配置管理器 ->活动的解决方案配置 ->LIB Debug
解决方案资源管理器 -> 右击 "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.lib winmm.lib ws2_32.lib gdiplus.lib ADSIId.lib crypt32.lib ../zlib/projects/visualc6/Win32_LIB_Debug/zlibd.lib ../cryptopp/debug/cryptlib.lib ../id3lib/libprj/id3libD.lib ./CxImage/debug/cximage.lib ../png/projects/visualc6/Win32_LIB_Debug/libpngd.lib ../ResizableLib/Debug/ResizableLib.lib
编译环境:XP pro SP2, VS.net 2003
先下载下面4个库:
Crypto++ 5.2.1
http://www.eskimo.com/~weidai/cryptopp521.zip
zlib123.zip
http://www.zlib.net/zlib123.zip
ResizableLib 1.3
http://prdownloads.sourceforge.net/resizablelib/ResizableLib_1_3.zip?download
lpng128
http://download.sourceforge.net/libpng/lpng128.zip
eMule v0.46b的源代码:
http://www.emule-project.net/home/perl/general.cgi?l=16&rm=download
1.eMule0.46b-Sources.zip解压到 eMule0.46b-Sources ->把下载的软件都放进去->打开eMule0.46b-Sources文件夹
2.cryptopp521.zip解压到 cryptopp521 ->重命名为cryptopp
打开 cryptopp/cryptest.dsw
点 生成 -> 生成解决方案
3.zlib123.zip解压到 zlib123 ->重命名为zlib
打开 zlib/projects/visualc6/zlib.dsw
点 生成 -> 配置管理器 ->活动的解决方案配置 ->LIB Debug
解决方案资源管理器 -> 右击 "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/visualc6/libpng.sln
点 生成 -> 配置管理器 ->活动的解决方案配置 ->LIB Debug
解决方案资源管理器 -> 右击 "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.lib winmm.lib ws2_32.lib gdiplus.lib ADSIId.lib crypt32.lib ../zlib/projects/visualc6/Win32_LIB_Debug/zlibd.lib ../cryptopp/debug/cryptlib.lib ../id3lib/libprj/id3libD.lib ./CxImage/debug/cximage.lib ../png/projects/visualc6/Win32_LIB_Debug/libpngd.lib ../ResizableLib/Debug/ResizableLib.lib
编译环境:XP pro SP2, VS.net 2003