. install Windows Software Development Kit (SDK) for Windows Server 2008 and .NET Framework 3.5
don't install platform SDK
. you may need to download and install .NET Framework 3.5
. install VS2005 sp1
. install Microsoft Visual Studio 2005 Extensions for Windows Workflow Foundation
. add include and lib dir to VC 2005
. install DirectX SDK
not use DirectX SDK Jun08,it hot have dxtrans.h . i use dxsdk april 2006
make sure include and lib dir is registered in VC 2005
. download eMule0.49b-Sources and extract to D:\eMule0.49b-Sources
. these lib already in the source:
CxImage , id3lib , miniupnpc
. you need download :
crypto++ 5.2.1 (cryptopp521.zip) don't use 5.5.x
libpng (libpng-1.2.32.tar.bz2)
resizablelib(ResizableLib_1_3.zip)
zlib(zlib123.zip)
. 1.make sure all lib source extract
. 2.make sure all lib source output .lib file can be access from emule_vc8.sln(modify linker->input)
. 3.now we must compile all lib use UNICODE and MultiThread(/MTd)
(this correct nafx..lib and uafx..lib already defined link error.)
. 4.resizablelib and emule need "Use MFC in a Static Library", others use "Use Standard Windows Libraries"
. 5.all lib compile in debug mode(/Zi or /ZI), so we can debug
. 6.elete preprocessor WINAPI in zlib 's project option
(this correct miss external function link error.)
. 1. some vc8's .sln is missed,but all can find .dsw file or vc7's .sln .so all vc8's .sln can be got.
. 2. some lib will compile fail due to header file miss.make sure project include is ok.
. 3. make these change:
==crypto51\default.cpp
line 36 : b[0] = (byte) (i >> 8);
line 48 : b[0] = (byte) (i >> 8);
==crypto51\eccrypto.cpp
line 104 :
template <typename T>
inline bool operator()(const EcRecommendedParameters<T>& a, const EcRecommendedParameters<T>& {return a.oid < b.oid;}
==crypto51\files.cpp
line 187:
if(inString==NULL) inString=(const byte *)"\0\0\0\0";
==crypto51\fipstest.cpp
line 257:
HMODULE h = GetModuleHandleA(moduleFilename);
line 322:
OutputDebugStringA("In memory integrity check failed. This may be caused by debug breakpoints or DLL relocation.\n");
line 340:
OutputDebugStringA((moduleFilename + (" integrity check failed. Actual MAC is: " + hexMac) + "\n").c_str());
==crypto51\integer.cpp
line 53:
T *AlignedAllocator<T>::allocate(CPP_TYPENAME AlignedAllocator<T>::size_type n, const void *)
==crypto51\integer.h
line 44:
T * allocate(size_type n, const void *);
==crypto51\zdeflate.cpp
line 100:
inline bool operator()(const HuffmanNode &lhs, const unsigned int rhs) const {return lhs.freq < rhs;}
==crypto51\zinflate.cpp
line 17:
inline bool operator()(const CryptoPP::HuffmanDecoder::CodeInfo &lhs, const CryptoPP::HuffmanDecoder::CodeInfo &rhs)
{return lhs.code < rhs.code;}
==id3lib\src\tag_file.cpp
line 54:
fh = ::CreateFileA(path,
.................it works.
somebody may need this.i think.
there may be some mistake,please tell me,if you like.
This post has been edited by JohnLLLLL: 15 October 2008 - 01:33 PM