设为首页 收藏本站
查看: 865|回复: 0

[经验分享] Windows 7+VisualStudio2008环境下编译eMule 0.49c

[复制链接]

尚未签到

发表于 2015-11-3 10:36:25 | 显示全部楼层 |阅读模式
  要在Windows7+VS2008的环境下,要编译安装eMule还是一件相当麻烦的事情,本文正好就是一片在此环境下编译成功的记录。
编译环境:

  • Windows Server 2008 R2
  • Visual Studio 2008 + SP1
  • Windows SDK 6.0a
  • ATL Server
    那么,首先一定要干的事情是把编译环境给整理好,所以你必须为VS2008打上SP1包,这样才能解决出现的大量cannot update program database 'e:/codestudy/emule-VeryCD-src/src/beta/vc90.pdb'错误。此外还必须安装好ATL Server库,并将其加入到VS2008中的VC++的include路径里。
    开始编译,结果立刻出了毛病:
  
view plaincopy to clipboardprint?

  • microsoft visual studio 9.0/vc/atlmfc/include/atlcom.h(431) : error C2146: syntax error : missing ';' before identifier 'rgclsidAllowed'  
  
  
    这个问题还相当恶心,Google还搜不到几个结果。在参考了这个帖子后解决了,解决方法是安装下面两个安全更新:

  • Security Update for Microsoft Visual Studio 2008 Service Pack 1 ATL for Smart Devices (KB973675)
  • Security Update for Microsoft Visual Studio 2008 Service Pack 1 (KB971092)
      好以后继续编译,过了这个,不过这次继续出错:
  
view plaincopy to clipboardprint?

  • /microsoft sdks/windows/v6.0a/include/qedit.h(498) : fatal error C1083: Cannot open include file: 'dxtrans.h': No such file or directory  
  
  
    晕倒了,这次居然牵扯出DirectX,这个问题有两部分,首先似乎需要先解决没有dxtrans.h的问题(不一定要,我是这样做的),下载个DX SDK Aug2007版本,注意必须是2007 aug,然后只把head和lib装上,这样就有了这个文件。但是还是会错误,主要是qedit.h的问题,需要进行一定的修改。可以参考如下几个帖子:
  
view plaincopy to clipboardprint?

  • http://hi.baidu.com/qinpc/blog/item/b7a7b5b7991f30f131add18c.html  
  • http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/ed097d2c-3d68-4f48-8448-277eaaf68252  
  • http://groups.google.gy/group/microsoft.public.win32.programmer.directx.video/msg/f12e18598b399ef9  
  
  
     我没有使用那个博客里的方案,我的方案是,安装好DXSDK aug2008和DirectX 9.0 SDK Update (February 2005) Extras这两个包后,把上述两者的include和lib目录都添加到VS2008的VC++include和lib目录下即可。
    这样既解决了Cannot open include file: 'dxtrans.h': No such file or directory问题,又解决了改完之后会产生的To compile qedit.h you must install the DirectX 9 SDK, to obtain the dxtrans.h header问题。
    这样,eMule主程序的编译问题都解决了,不过还会报其他调用的lib找不到的问题,这个问题比较简单,如果这个东西目录下有类似于cximage_vc9.vcproj的文件,只需要把它打开编译一下即可,没有的话就按照报错的路径从verycd那把编好的拷贝过去即可。
  
    继续编译,在链接的时候出现问题:
  
view plaincopy to clipboardprint?

  • cryptlib.lib(hmac.obj) : error LNK2001: unresolved external symbol  
  
  
    这个问题网上的说法是只需要重新编译对于的库,在编译的过程中把它的character set设置成使用unicode即可,不过似乎crypto5.1按
  照它官方网站的说明是无法在vs2008下编译的,而crypto5.6编译好了又无法链接,所以这里只能使用之前有朋友编译好的这些库了。
    各位可以从这里下载:http://download.VeryCD.com/emule071112_libsForVS2005.rar
  
    上面这些步骤过后,我的eMule总算是可以在我的环境下正常编译通过了。。。那么,后续还要对eMule进行MOD,之后的事情就交给之后的文章来说明了吧。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-134430-1-1.html 上篇帖子: Windows Server 2008 R2远程桌面服务配置和授权激活 下篇帖子: 在64位的Windows Server 2008 for Itanium-Based Systems 安装JDK
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表