我已经下载了用于编写可以解压缩RAR文件的程序的库。 (http://www.rarlab.com/rar/UnRARDLL.exe)此提供我unrar.dll,unrar.h,unrar.lib和UnRDLL.def。我已经复制了C示例代码,并尝试使用Dev-Cpp和Eclipse进行编译。用于DLL(DEF,LIB等)的C++链接器选项
我使用的DLL没有太多的经验,所以我不知道该如何处理以下链接错误:
UnRDLL.o(+的.text 0x151):UnRDLL.c:未定义参照
[email protected]' UnRDLL.o(.text+0x1c0):UnRDLL.c: undefined reference to
RARSetCallback @ 12' UnRDLL.o(的.text + 0x1e2):UnRDLL.c:未定义参照[email protected]' UnRDLL.o(.text+0x2b9):UnRDLL.c: undefined reference to
RARProcessFile @ 16' UnRDLL.o(的.text + 0x2fe):UnRDLL.c:未定义参照[email protected]' UnRDLL.o(.text+0x366):UnRDLL.c: undefined reference to
RAROpenArchiveEx UnRDLL.o(.text + 0x4c2):UnRDLL.c:未定义的引用[email protected]' UnRDLL.o(.text+0x41c):UnRDLL.c: undefined reference to
RARReadHeaderEx @ 8' UnRDLL.o(.text + 0x4c2):UnRDLL.c:未定义的引用[email protected]' UnRDLL.o(.text+0x4fa):UnRDLL.c: undefined reference to
RARCloseArchive @ 4'
谷歌建议增加--def UnRDLL.def和-lunrar连接器的选项,并且还复制的.lib文件给DEV-CPP \ lib目录。
你能向我解释我做错了什么吗?如果可能的话,告诉我需要在源代码目录中需要什么文件,需要什么样的库,需要添加到项目中的什么,需要什么链接器选项以及我完全错过的其他任何东西。
编辑:我不知道为什么,但我只是手动redid所有设置如上所述,现在它的工作原理。还是要谢谢你的帮助。
我以前使用过VSE,我更喜欢Eclipse(或者DevCpp适用于较小的项目)。 我知道使用VSE通常更容易使用DLL,但我更愿意学习如何将它们用于其他IDE。 – thornate 2009-11-18 11:49:21
够公平的。我之前玩过Eclipse和DLL,但我个人觉得它太令人沮丧了。这是一个使用“供应商提供的”工具链确实有助于提高生产力的特殊情况,IMO。 – 2009-11-18 12:29:20