现在的位置: 首页 > 综合 > 正文

vc++6.0编译UnRar.dll

2018年08月04日 ⁄ 综合 ⁄ 共 672字 ⁄ 字号 评论关闭

最近没事研究了一下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(这个在源代码中有,直接导入就行了)

其他的就自己慢慢琢磨吧

 

 

 

抱歉!评论已关闭.