问题是这样的。
在一个工作区中包含了几个dll工程,然后在这些dll工程中声明和定义了一些类。在生成dll的时候,同时会生成对应的lib库文件。这些lib库文件都放在工作区目录下的lib文件夹下。
现在创建了一个新的工程,里边新建的一个类别的基类是其他工程中的类。然后在声明的时候,直接把在其他工程下基类的.h包含了进来。
之后,编译新工程,出现link2001错误。基类所有的成员函数,都无法被正确的链接。
请问该如何解决?
几个dll的工程,只定义了几个输出函数。
另外请问,dll工程生成的lib和静态链接库生成的lib库在使用上面有什么区别?
在一个工作区中包含了几个dll工程,然后在这些dll工程中声明和定义了一些类。在生成dll的时候,同时会生成对应的lib库文件。这些lib库文件都放在工作区目录下的lib文件夹下。
现在创建了一个新的工程,里边新建的一个类别的基类是其他工程中的类。然后在声明的时候,直接把在其他工程下基类的.h包含了进来。
之后,编译新工程,出现link2001错误。基类所有的成员函数,都无法被正确的链接。
请问该如何解决?
几个dll的工程,只定义了几个输出函数。
另外请问,dll工程生成的lib和静态链接库生成的lib库在使用上面有什么区别?
导入你的链接库
#pragma comment(lib, "worksapce\\lib\\**.lib")dll工程生成的lib文件中仅仅是关于其对应DLL文件中函数的重定位信息,静态链接库生成的lib库包含执行代码,会链接到你的exe中去。动态库的知识看看这《深入浅出Visual C++动态链接库(Dll)编程》
http://soft.yesky.com/lesson/318/2166818.shtml