C++ 在C+;中使用带有.h头的DLL+;

C++ 在C+;中使用带有.h头的DLL+;,c++,dll,header,function,C++,Dll,Header,Function,我得到了一个小库,由一个.dll、一个.h头文件和一个.def文件组成。我敢肯定图书馆是用C编写的,但可能是C++。 我是否可以访问库中的函数而不使用通常提到的LoadLibrary/GetProcAddress/FreeLibrary方法。我没有.lib文件-通常有一个吗 我在过去的两天里一直在查这个。似乎因为我已经得到了一个头文件来定义我希望从dll中使用的函数,以及一个.def文件,所以我不需要显式地手动“加载”每个函数(LoadLibrary/GetProAddress/FreeLibr

我得到了一个小库,由一个.dll、一个.h头文件和一个.def文件组成。我敢肯定图书馆是用C编写的,但可能是C++。 我是否可以访问库中的函数而不使用通常提到的LoadLibrary/GetProcAddress/FreeLibrary方法。我没有.lib文件-通常有一个吗

我在过去的两天里一直在查这个。似乎因为我已经得到了一个头文件来定义我希望从dll中使用的函数,以及一个.def文件,所以我不需要显式地手动“加载”每个函数(LoadLibrary/GetProAddress/FreeLibrary)-在我的情况下,我将使用.dll中的大约5或6个函数,但是有大约70个可用的,这似乎是一个球疼痛,并导致不必要的混乱的代码


谢谢您的建议。

您需要一个lib文件-它包含链接器为DLL创建导入表所需的存根

不确定这是否可行,但您可以尝试:

创建一个带有空存根的.C文件和.DEF文件。编译为具有完全相同名称的DLL以生成.lib。扔掉新的DLL,并与库链接,如果现有DLL与exe位于同一目录中,则程序应该能够加载并绑定它


我相信这会起作用,因为本机DLL没有强名称。

有几种方法可以为DLL创建导入库-Microsoft documents通过构建自己的.DEF文件创建导入库的方法:

Visual C++有“LIB”-在线帮助中查找它。

使用“lib/def”生成.lib文件