关键字: Emule 编译 错误 VC++
编译环境
Microsoft Visual C++ .NET 2003 (v7.1)
Emule版本: 0.42g
请注意红字标注部分.
1.下载相应的libs
包括:crypto++(crypto51), id3lib, png, zlib, ResizableLib
2. 编译emule所依赖的libs
注意编译Crypto51 时会报编译错误,这些错误通过下列方法进行修改。
修改pubkey.h, 在文件头部加上#include "asn.h",这样就没有有关OID的错误了。
修改integer.cpp,修改下列片断
#ifdef SSE2_INTRINSICS_AVAILABLE
template <class T>
typename AllocatorBase<T>::pointer AlignedAllocator<T>::allocate(size_type n, const void *)
注意所编译的所有libs工程都要用下列Runtime Libaray:
Multi-threaded Debug (/MTd)
Or
Multi-threaded (/MT)
请仔细检查,再检查。有的lib可以编译成DLL形式,但是EMule不使用DLL形式而是Static形式的lib,请注意选择正确的编译目标。
3.修改emule相关文件以适应v7.1的要求
打开DialogMinTrayBtn.cpp,修改下列片断
#if 0
// define this to use that source file as template
#define TEMPLATE template <class BASE>
#else
// define this to instantiate functions for class 'BASE' right in this CPP module
#define TEMPLATE template <>
#define BASE CResizableDialog
#endif
打开Emule.cpp,修改下列片断
ASSERT( VERSION_UPDATE + 'a' <= 'g' );
4. 修改工程设置
连接时忽略下列库: msvcrtd.lib,LIBCD
posted on 2005-08-29 18:34
Kenneth Blog 阅读(1439)
评论(0) 编辑 收藏 所属分类:
开源项目