WinRar官方提供了源码(http://www.rarlab.com/rar_add.htm);如果自己想要修改里面的内容就要重新生成DLL和LIB,我在网上找了很多资料都没有说得很清楚。花一两天的时间才把他生成成功。网上的资料都给了一些误导,所以改了很久才完成。现在给出正确的步骤,给这方面的学习者提供一下思路。
)建立一个空的win32 dll工程
2)把.hpp和.cpp都添加到工程里
3)从工程中移除不是删除arccmt.cpp、beosea.cpp、coder.cpp、model.cpp、log.cpp、suballoc.cpp、os2ea.cpp、unios2.cpp、unpack15.cpp、unpack20.cpp、uowners.cpp、win32acl.cpp、win32stm.cpp
4)在项目属性下的配置属性常规下字符集设置为未设置
5)定义RARDLL;UNRAR;SILENT,我是在OS.hpp里定义的。
#ifndef RARDLL
#define RARDLL
#endif
#ifndef UNRAR
#define UNRAR
#endif
#ifndef SILENT
#define SILENT
#endif
试了多个头只有在这里定义没问题。因为这里定义了很宏。
6)定义导出文件为dll.def ,源码里有这个文件。你可以扡他导入进来。后在项目属性里链接器下输入下的模块定义文件里输入DLL.DEF文件,这里(Debug和Release)都要输入这个文件。
这样运行就可以生成。
http://blog.csdn.net/yjwffgip456/article/details/6587404