代码改变世界

eMule v0.48a编译成功

2008-03-26 13:59  Jaypei  阅读(1037)  评论(0编辑  收藏  举报

eMule v0.48a在VS2005下编译成功。

目录结构:
crypto51
├id3lib
png
ResizableLib
├srchybrid
zlib

version.lib
winmm.lib
ADSIId.lib
crypt32.lib
..\zlib\debug\zlib.lib
..\crypto51\debug\cryptlib.lib
..\id3lib\libprj\debug\id3lib.lib
.\CxImage\debug\cximage.lib
..\png\debug\png.lib
..\ResizableLib\DebugUnicode\ResizableLib.lib


zlib :
错误 1 error A2070: invalid instruction operands XXX\eMule\zlib\contrib\masmx86\inffas32.asm 647 
解決方法:http://www.cppblog.com/tx7do/archive/2007/10/12/34014.aspx
修改inffas32.asm如:
movd mm4,[esp+0]==>    movd mm4,dword ptr [esp+0]
编译成功!

错误 1205 fatal error C1083: 无法打开包括文件:“sapi.h”: No such file or directory XX\eMule\srchybrid\TextToSpeech.cpp 28 
解决方法:
注释掉HAVE_SAPI_H

C2451错误PeerCacheFinder.cpp中:
if(result.Encode(aucResult, SIGNATURELENGTH)){ 改为
result.Encode(aucResult, SIGNATURELENGTH);
if((aucResult, SIGNATURELENGTH)!=0){

然后去掉stdafx.h里的以下几行
#ifndef _USE_32BIT_TIME_T
#define _USE_32BIT_TIME_T
#endif

还有很多路径修改一下。。编译成功了