这个问题似乎显而易见,但我遇到了很多麻烦,最后我不得不在经过大量搜索后发帖。
我目前有两个Visual Studio窗口打开。一个是Win32 Console-> DLL项目,它导出一个类,在输出目录中我有:
我已将DLL文件放入我的其他项目的输出目录中,就像我对所有DLL一样,并且通常可以正常工作。然后,我将目录添加到链接器的库目录中。
但与我使用的大多数库不同,我认为我做错了或者我误解了它是如何工作的,我没有.h [pp]文件,所以我不知道我应该如何将这些函数包含在我的码。我宁愿不使用仅限Windows的黑客攻击(我只想将其限制在DLL项目中,以便可以轻松移植它。)
任何人都可以告诉我我做错了什么吗?
答案 0 :(得分:1)
没有任何'hacky'或'windows'具体关于将.h文件提供给其他项目。您的.lib文件将提供完成构建所需的信息。请参阅:How do I use a third party dll in Visual Studio C++?
答案 1 :(得分:0)
您是否将.dll对应的.lib文件添加到其他项目的目录中?
链接器使用的是.lib文件,而不是DLL(在运行时由加载程序使用)。
答案 2 :(得分:0)
.dll是一个共享库,而不是静态库(Windows上的.lib)。
编译项目时必须始终链接静态库,并且可以使用标题(.h / .hpp)文件轻松调用其函数,而共享库有两个选项:
我建议你阅读这篇深入的文章:http://www.codeproject.com/Articles/85391/Microsoft-Visual-C-Static-and-Dynamic-Libraries