C++静态库和共享库

C++ static and shared libraries

本文关键字:共享 C++ 静态      更新时间:2023-10-16

我想在C++中创建一个静态库来存储我的函数。我知道这个问题已经在Cplusplus论坛上被问到了,但我真的可以用更准确地描述要做什么。

据我所知,您创建了一个新的Win32程序,然后添加头文件(.h)和代码文件(.cpp).

所以事实上我有几个问题。

1-如何将我的代码放入这些文件中?我使用.cpp吗?

2-我确实设法单独制作了一个带有add函数的简单库,但在编译之后我无法将它#包含在程序中。为什么会这样?

有人能写一个循序渐进的方法吗?这样我终于可以做到了。我知道MSDN有一个关于这方面的教程,我已经看过了。问题是它使用OOP方法来创建静态库,并调用库中的函数经常使用::运算符(认为它是运算符),这正是我想要避免的。基本上,我想从简单开始。

谢谢你的帮助。

静态库的理念是,像往常一样编写代码,但将其编译为静态库。静态库的用户仍然需要您的头文件,但他们不再需要.CPP文件,因为实际实现包含在静态库文件中。

要使用库,请包含所需的头文件,然后将库文件与程序链接。

这是微软演练的链接。http://msdn.microsoft.com/en-us/library/vstudio/ms235627.aspx

如何使用Visual Studio创建和使用静态库

以下是您在Visual Studio 2012中的具体操作方法。

  • 若要创建库,请创建一个新的C++项目。在向导的"应用程序设置"中,选择"静态库"。取消选中预编译标头
  • 根据需要创建库。不要忘记在头文件中声明所有内容
  • 像往常一样编译项目。这将在解决方案的调试文件夹中创建一个.lib文件
  • 要使用库,请像往常一样创建一个应用程序
  • 若要将库与项目链接,请在visualstudio中将.lib文件拖动到项目中
  • 若要让visualstudio找到您的头文件,请右键单击您的项目。选择属性->配置属性->C/C++。有一个名为Additional Include Directories的输入框。在这里,您必须写入库的头文件的路径

现在,您可以使用头文件,就好像它们是由您的项目直接创建的一样。库的实现取自.lib文件,所有内容都应该编译并运行良好。

另一种选择是在应用程序中引用整个libary项目。要执行此操作,必须在解决方案中获取库项目。右键单击Visual Studio中的解决方案->添加->现有项目。然后你必须参考这个项目。右键单击您的项目->引用->通用属性->框架和引用->添加新引用->选择您的项目。现在,您可以在此解决方案中编辑库,并直接在应用程序中使用它。