最新的easymule版本,使用win7系统,vs2005编译错误解决方案。

这里只是我这里出现的错误,不同的人出现的错误不一样。

这里http://www.verycd.com/groups/eMuleDev/209863.topic/page1有个相对比较全的方案。

首先打开easyMule_Libs.sln,编译
1. 
\src\cximage\ximatran.cpp(183) : error C2666: “div”: 2 个重载有相似的转换
c:\program files\microsoft visual studio 8\vc\include\stdlib.h(508): 可能是“ldiv_t div(long,long)”
c:\program files\microsoft visual studio 8\vc\include\stdlib.h(482): 或“div_t div(int,int)”
试图匹配参数列表“(long, int)”时
\src\cximage\ximatran.cpp(301) : error C2666: “div”: 2 个重载有相似的转换
c:\program files\microsoft visual studio 8\vc\include\stdlib.h(508): 可能是“ldiv_t div(long,long)”
c:\program files\microsoft visual studio 8\vc\include\stdlib.h(482): 或“div_t div(int,int)”
试图匹配参数列表“(long, int)”时

解决:div的参数强制转换为long

2. 
Assembling: c:\Users\niko\Desktop\testEasymule\zlib\inffas32.asm
\zlib\inffas32.asm(647) : error A2070: invalid instruction operands
\zlib\inffas32.asm(649) : error A2070: invalid instruction operands
\zlib\inffas32.asm(663) : error A2070: invalid instruction operands
\zlib\inffas32.asm(720) : error A2070: invalid instruction operands
Project : error PRJ0019: 工具从"Assembling..."

解决办法是把inffas32.asm中的4处出错的类似

movd mm4, [esp+0]

的汇编代码,添加dword ptr修饰符,改为

movd mm4,dword ptr [esp+0]

具体查看:http://blog.csdn.net/kellerxq/article/details/1337192

3. 
C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(292) : error C2664: “bool CryptoPP::CodeLessThan::operator ()(const

CryptoPP::HuffmanDecoder::code_t,const CryptoPP::HuffmanDecoder::CodeInfo &)”: 不能将参数 1 从“const CryptoPP::HuffmanDecoder::CodeInfo”转换为“const

CryptoPP::HuffmanDecoder::code_t”
        没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
        C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm(2099): 参见对正在编译的函数 模板 实例化“bool std::_Debug_lt_pred<_Pr,_Ty,T>(_Pr,const _Ty1

&,const _Ty2 &,const wchar_t *,unsigned int)”的引用
        with
        [
            _Pr=CryptoPP::CodeLessThan,
            _Ty=CryptoPP::HuffmanDecoder::code_t,
            T=CryptoPP::HuffmanDecoder::CodeInfo,
            _Ty1=CryptoPP::HuffmanDecoder::code_t,
            _Ty2=CryptoPP::HuffmanDecoder::CodeInfo
        ]
        C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm(2113): 参见对正在编译的函数 模板 实例化“_FwdIt

std::_Upper_bound<std::_Vector_const_iterator<_Ty,_Alloc>,unsigned int,__w64 int,_Pr>(_FwdIt,_FwdIt,const unsigned int &,_Pr,_Diff *)”的引用
        with
        [
            _FwdIt=std::_Vector_const_iterator<CryptoPP::HuffmanDecoder::CodeInfo,CryptoPP::AllocatorWithCleanup<CryptoPP::HuffmanDecoder::CodeInfo>>,
            _Ty=CryptoPP::HuffmanDecoder::CodeInfo,
            _Alloc=CryptoPP::AllocatorWithCleanup<CryptoPP::HuffmanDecoder::CodeInfo>,
            _Pr=CryptoPP::CodeLessThan,
            _Diff=__w64 int
        ]
        .\zinflate.cpp(148): 参见对正在编译的函数 模板 实例化“_FwdIt

std::upper_bound<std::_Vector_const_iterator<_Ty,_Alloc>,CryptoPP::HuffmanDecoder::code_t,CryptoPP::CodeLessThan>(_FwdIt,_FwdIt,const unsigned int &,_Pr)”的引用
        with
        [
            _FwdIt=std::_Vector_const_iterator<CryptoPP::HuffmanDecoder::CodeInfo,CryptoPP::AllocatorWithCleanup<CryptoPP::HuffmanDecoder::CodeInfo>>,
            _Ty=CryptoPP::HuffmanDecoder::CodeInfo,
            _Alloc=CryptoPP::AllocatorWithCleanup<CryptoPP::HuffmanDecoder::CodeInfo>,
            _Pr=CryptoPP::CodeLessThan
        ]

C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(303) : error C2664: “bool CryptoPP::FreqLessThan::operator ()(const CryptoPP::HuffmanNode &,const

CryptoPP::HuffmanNode &) const”: 不能将参数 2 从“const int”转换为“const CryptoPP::HuffmanNode &”
        原因如下: 无法从“const int”转换为“const CryptoPP::HuffmanNode”
        无构造函数可以接受源类型,或构造函数重载决策不明确
        C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm(2099): 参见对正在编译的函数 模板 实例化“bool std::_Debug_lt_pred<_Pr,_Ty,T>(_Pr,const _Ty1

&,_Ty2 &,const wchar_t *,unsigned int)”的引用
        with
        [
            _Pr=CryptoPP::FreqLessThan,
            _Ty=int,
            T=CryptoPP::HuffmanNode,
            _Ty1=int,
            _Ty2=CryptoPP::HuffmanNode
        ]
        C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm(2113): 参见对正在编译的函数 模板 实例化“_FwdIt

std::_Upper_bound<CryptoPP::HuffmanNode*,_Ty,std::iterator_traits<_Iter>::difference_type,_Pr>(_FwdIt,_FwdIt,const _Ty &,_Pr,_Diff *)”的引用
        with
        [
            _FwdIt=CryptoPP::HuffmanNode *,
           _Ty=int,
            _Iter=CryptoPP::HuffmanNode *,
            _Pr=CryptoPP::FreqLessThan,
            _Diff=std::iterator_traits<CryptoPP::HuffmanNode *>::difference_type
        ]
        .\zdeflate.cpp(115): 参见对正在编译的函数 模板 实例化“_FwdIt std::upper_bound<CryptoPP::HuffmanNode*,int,CryptoPP::FreqLessThan>(_FwdIt,_FwdIt,const _Ty

&,_Pr)”的引用
        with
        [
            _FwdIt=CryptoPP::HuffmanNode *,
            _Ty=int,
            _Pr=CryptoPP::FreqLessThan
        ]

解决:将debug改为release。

4. 
.\ximatran.cpp(183) : error C2679: 二进制“=”: 没有找到接受“ldiv_t”类型的右操作数的运算符(或没有可接受的转换)
        C:\Program Files\Microsoft Visual Studio 8\VC\include\stdlib.h(82): 可能是“_div_t &_div_t::operator =(const _div_t &)”
        试图匹配参数列表“(div_t, ldiv_t)”时
.\ximatran.cpp(301) : error C2679: 二进制“=”: 没有找到接受“ldiv_t”类型的右操作数的运算符(或没有可接受的转换)
        C:\Program Files\Microsoft Visual Studio 8\VC\include\stdlib.h(82): 可能是“_div_t &_div_t::operator =(const _div_t &)”
        试图匹配参数列表“(div_t, ldiv_t)”时

解决:将div_r = div((long)(y + dlineup), (long)8);中div_r的类型改为ldiv_t

编译源码easyMule.sln:

1. 
.\WorkLayer\FtpClientReqSocket.cpp(51) : error C2440: “初始化”: 无法从“const char *”转换为“char *”
.\WorkLayer\otherfunctions.cpp(3863) : error C2440: “初始化”: 无法从“const wchar_t *”转换为“LPTSTR”
.\WorkLayer\UPnpNat.cpp(752) : error C2440: “=”: 无法从“const char *”转换为“char *”
解决: 加上强制类型转换

2.

1>.\WorkLayer\EncryptedStreamSocket.cpp(362) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>.\WorkLayer\EncryptedStreamSocket.cpp(493) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>.\WorkLayer\EncryptedStreamSocket.cpp(591) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

解决方案:
把 const bySupportedEncryptionMethod
改成 const EEncryptionMethods bySupportedEncryptionMethod

3.
1>C:\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>C:\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>C:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(32) : warning C4244: “参数”: 从“time_t”转换到“__time32_t”,可能丢失数据
1>C:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(32) : warning C4244: “参数”: 从“time_t”转换到“__time32_t”,可能丢失数据
1>C:\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>C:\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>C:\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>C:\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>C:\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>C:\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>C:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(81) : error C2664: “_time32”: 不能将参数 1 从“time_t *”转换为“__time32_t *”
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

解决方案:
去掉stdafx.h里的以下几行
#ifndef _USE_32BIT_TIME_T
#define _USE_32BIT_TIME_T
#endif

4. 
1>C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include/afxres.h(28) : warning RC4005: 'IDR_MANIFEST' : redefinition
1>.\emule.rc(2629) : error RC2176 : old DIB in res\Mule.ico; pass it through SDKPAINT

原Mule.ico已损坏,需要拿另外一个进行替换。

最新的easymule版本,使用vs2005编译相关推荐

  1. swift-annotations:java编译时警告主版本 52 比 51 新, 此编译器支持最新的主 版本。

    今天在java bean代码中加入swift的注释时,编译时提示了警告: [javac] 警告: J:\facelog\db\sql2java\lib\swift-annotations-0.23.1 ...

  2. 主版本 51 比 50 新,此编译 器支持最新的主版本。

    警告:java\lang\Object.class(java\lang:Object.class): 主版本 51 比 50 新,此编译 器支持最新的主版本. 建议升级此编译器. 原因是:有多个JDK ...

  3. mac 卸载php版本,mac 系统下删除旧的php版本安装最新的php版本及Xdebug

    这篇文章介绍的内容是关于mac 系统下删除旧的php版本安装最新的php版本及Xdebug,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的2015版的macpro 系统下默认安装了 ...

  4. 关于AS报 主版本 52 比 51 新, 此编译器支持最新的主版本。 建议升级此编译器 问题

    有一次和同事同步代码,同步完之后Android Studio在手机上安装的时候报这个问题 警告: D:\ASsdk\platforms\android-24\android.jar(android/g ...

  5. 如何使用VS2005编译 转

    如何使用VS2005编译   这篇文章帮助你用用Microsoft C++编译器编译OpenWenGo 需求: VS2005 Express Platform SDK DirectX SDK 其他We ...

  6. linux安装 openssl,Linux安装最新的OpenSSL版本

    OpenSSL是一个广泛使用的加密库,实现SSL和TLS协议以保护计算机网络上的通信. OpenSSL被Apache Web服务器,PHP,Postfix等许多软件广泛使用. OpenSSL为Chip ...

  7. VS2005编译QT4.8.2

    为什么要编译? 因为安装安装版的QT4.8.2,vs2005编译报错. 1.下载QT4.8.2,qt-everywhere-opensource-src-4.8.2.zip,下载vs-AddIn1.1 ...

  8. 最新Android系统版本与API等级对应关系表

    最新Android系统版本与API等级对应关系表 从Android官网拷过来的,方便查阅... 官网地址:https://developer.android.com/guide/topics/mani ...

  9. 【错误记录】Flutter 构建报错 ( Error: Method not found: ‘CupertinoModalPopupRoute‘. | 下载最新 Flutter SDK 版本 )

    文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 参考 [Flutter]Flutter Gallery 官方示例简介 博客 ; Flutter Galley 开源项目运行时 , 部署 ...

  10. 使用 VS2005 编译 directshow sample 时链接错误

    Win7 系统下, 使用 VS2005 编译 Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\filters\async 工程时, ...

最新文章

  1. 讨论JDK的File.equal()
  2. namenode需要多大内存
  3. 秀秀博客大赛50强的礼物
  4. 实现apply call 方法
  5. BCH应无惧11月,奋力求发展
  6. Vue_(组件通讯)非父子关系组件通信
  7. 在stackoverflow上使用markdown
  8. vlookup两个条件匹配_用VLOOKUP进行同时满足两个条件的查找,几种方法都在这啦!||Excel技巧...
  9. 统计二进制中1的个数(四种方案)
  10. STM32打印log--使用J-Link RTT Viewer
  11. 国内pinterest模式昙花一现 社交电商不该这么玩
  12. css 对齐方式 分类
  13. 如何下载乌龟svn中文版
  14. Flutter中使用shared_preferences本地存储
  15. IDV软件相关中英文对照
  16. java插入图片_如何在java窗体程序中添加图片
  17. Unity实现AR扫描图片
  18. Dell Precision M4800 VoodooPS2Controller 键盘/触控驱动修复过程
  19. 笔记本键盘输入错乱,字母都变成数字了
  20. Intel桌面CPU系列

热门文章

  1. 华为secoclient提示“无法建立vpn链接,vpn服务器可能无法到达”
  2. 【信号与系统】学习记录1——1.1信号的分类
  3. 西门子scl语言和c语言,为什么说SCL将成为西门子PLC的主流编程语言
  4. IEEE Access模板caption无法换行,换行后标题不居中解决办法
  5. 个人财务管理系统mysql_开发个人财务管理系统(一)建数据库
  6. php书店网站模板源代码_网上书店整套html模板
  7. halcon学习和实践(开篇)
  8. STEP7 及模拟器,录像软件的使用
  9. STEP 7新建梯形图程序,S7-plcsim使用
  10. 基于spring boot -MySQL -Java实现图书信息管理系统(可作为毕业设计)