最近没事研究了一下unRAR。源代码可以在dos下用nmake命令来生成一个release版本 例:nmake makefile.msc
如果在vc6.0或vs2005下编译,是通不过的,需要做下修改。
在这你也可以参考一下《编译UnRar.dll的体验》不过不是很具体,但也给我不少启发。下面给出具体的步骤:
首先,在vc6.0-中建立一个空的win32 dll项目
然后,将.hpp和.cpp文件都添加到工程里
如果你要是看源代码了,你会发现有的文件包含了.cpp文件,这是也许,就当是头文件了。不过对于编译器,那就会产生错误,因为你在
生成文件时,编译器会编译所有的cpp文件,而有的cpp又当做头文件被别的文件包含被编译,你说会不会出错。
所有那 解决的办法是要么把那些cpp文件设置成不可编译的,要么从工程中移除掉。简单是后者了 点击右键就可删除了。
需删除的文件有:
arccmt.cpp、beosea.cpp、coder.cpp、model.cpp、log.cpp、suballoc.cpp、
smallfn.cpp(注意,这个在老的版本在rar.cpp中包含了,所以需要从工程中删掉,但新的版本中rar.cpp并没有包含它,所以3.9版本不能去)
,os2ea.cpp、unios2.cpp、unpack15.cpp、unpack20.cpp、uowners.cpp、win32acl.cpp、win32stm.cpp
最后 还需定义RARDLL;UNRAR;SILENT 和dll.def(这个在源代码中有,直接导入就行了)
其他的就自己慢慢琢磨吧