emule源码编译问题 (eMule-VeryCD-src-070418)
1> 正在编译...
1> TraverseStrategy.cpp
1> 正在编译...
1> Scanner.cpp
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\wtime.inl(37) : error C2664: “_wctime32”: 不能将参数 1 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\wtime.inl(43) : error C2664: “errno_t _wctime32_s(wchar_t *,size_t,const __time32_t *)”: 不能将参数 3 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(32) : warning C4244: “参数”: 从“time_t”转换到“__time32_t”,可能丢失数据
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(32) : warning C4244: “参数”: 从“time_t”转换到“__time32_t”,可能丢失数据
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(38) : error C2664: “_ctime32”: 不能将参数 1 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(44) : error C2664: “errno_t _ctime32_s(char *,size_t,const __time32_t *)”: 不能将参数 3 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(51) : error C2664: “_gmtime32”: 不能将参数 1 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(57) : error C2664: “_gmtime32_s”: 不能将参数 2 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(64) : error C2664: “_localtime32”: 不能将参数 1 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(69) : error C2664: “_localtime32_s”: 不能将参数 2 从“const time_t *”转换为“const __time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> D:\Program Files\Microsoft Visual Studio 8\VC\Include\time.inl(81) : error C2664: “_time32”: 不能将参数 1 从“time_t *”转换为“__time32_t *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1> MfcStaticBinaryCompatible.cpp
1> WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)
我不清楚为什么它报错报在VS的系统头文件里,time.inl不是emule的代码啊,这样就郁闷了,我不知道怎么去改它的源代码,又不知道它的源文件哪里出了问题
[解决办法]
http://www.emule-antares.net/index.php?ind=downloads&op=entry_view&iden=75
这里有emule for vc2005的编译文件
[解决办法]
Following is the definition of “time_t” in crtdefs.h.
//in crtdefs.h
#ifndef _TIME_T_DEFINED
#ifdef _USE_32BIT_TIME_T
typedef __time32_t time_t; /* time value */
#else
typedef __time64_t time_t; /* time value */
#endif
#define _TIME_T_DEFINED /* avoid multiple def 's of time_t */
#endif
//in crtdef.h
#ifndef _TIME32_T_DEFINED
typedef _W64 long __time32_t; /* 32-bit time value */
#define _TIME32_T_DEFINED
#endif
//in crtdef.h
#ifndef _TIME64_T_DEFINED
#if _INTEGRAL_MAX_BITS > = 64
typedef __int64 __time64_t; /* 64-bit time value */
#endif
#define _TIME64_T_DEFINED
#endif