我已经学会了如何制作DLL,很容易进行单元测试,因为它出现在我的DLL项目的项目配置中,因为它在同一个解决方案文件中。
现在我正在启动另一个项目,但我想使用我的DLL或其他DLL,我在哪里告诉visual使用这个或这个DLL?
我将visual配置为使用正确的标头,但是如何让它找到DLL文件?
答案 0 :(得分:3)
您可以在Visual Studio中自动执行此操作,以便DLL的用户不会忘记这一点。典型的DLL头文件可能如下所示:
#undef MYEXPORTS
#ifdef BUILDING_MYDLL
# define MYEXPORTS __declspec(dllexport)
#else
# define MYEXPORTS __declspec(dllimport)
# pragma comment(lib, "mydll.lib")
#endif
MYEXPORTS void SomeFunction();
// etc..
#pragma指令将一个链接器选项注入到.obj文件中,以确保链接器在客户端程序#includes头文件时始终查找.lib。这与查找CRT .lib文件的正确版本的机制相同,即使您从未在Additional Dependencies设置中明确提及它。这是非标准的,但无论如何使用DLL都是非标准的。
答案 1 :(得分:2)
您需要将.LIB文件添加到项目中。它应该是在编译DLL时生成的,并且与编译的DLL位于同一目录中。
在VS2008中,您将打开项目属性并转到链接器,输入,附加依赖项并在那里指定LIB文件。在VS2010中它应该非常相似。