I recently remembered that eMule was not completed in vs2008 before, so today I made some further edits and encountered a problem. Reference
1. Compile eMule-verycd project http://longquanwjx.blog.163.com/blog/static/15153819201002534926266/ under vs2008
2. [solution] the latest version of Emule source code compilation can not see here http://www.verycd.com/groups/eMuleDev/209863.topic/page1
And finally compiled. Note that the three libraries in eMule, crypto51, id3lib, and resizablelib, are somewhat old for vs2008. I downloaded the latest one from the Internet and then compiled it in vs2008.
After compilation, it runs. I didn't expect the assert to be in progress. The assert statement is assert_kindof (cwnd, pview );. This assert is due to a problem with the searchresultswnd declaration. The assert_kindof explanation is as follows:
Assert_kindof
This function works only for Classes declared with the declare_dynamic or declare_serial macro.
The modification is simple:
1. D: change row 86 of/project/eMule/src/searchresultswnd. h from declare_dyncreate (csearchresultswnd) to declare_dynamic (csearchresultswnd)
2. D: Change implement_dyncreate (csearchresultswnd, cresizableformview) to implement_dynamic (csearchresultswnd, cresiultswnd, cresizableformview)
For more detailed reasons for this change, see:
1. Why does creating a view fail http://group.gimoo.net/review/110315
The final eMule running result is as follows:
Some materials analyzed by eMule:
EMule source code main call Process Analysis http://blog.csdn.net/babyfacer/archive/2009/05/19/4202572.aspx
Http://ganghust.download.csdn.net/
EMule 0.27c class diagram.pdf
EMule source code analysis [architecture and various classes are described in detail]
EMule protocol specification (Chinese Version]