C++ 多个文件组合在一个静态库中

C++ 多个文件组合在一个静态库中,c++,C++,所以我想知道是否可能有一个包含多个文件的静态库?现在我可以在其他程序中使用附加到特定.h和相应的.cpp的静态库。但是当我尝试向静态库添加额外的.h和.cpp时,我的其他尝试使用它们的程序返回错误LNK2019。只是想知道这是否可能,然后再进一步搜索 我想知道是否可能有一个包含多个文件的静态库 对。这就是一个库的全部意义——对于一组预构建的对象文件来说,它是一个可重新分发的库。您到底是如何“添加”其他.h和.cpp文件的?有问题的错误消息到底是什么?您没有将源文件添加到库中。您可以添加对象文件。

所以我想知道是否可能有一个包含多个文件的静态库?现在我可以在其他程序中使用附加到特定.h和相应的.cpp的静态库。但是当我尝试向静态库添加额外的.h和.cpp时,我的其他尝试使用它们的程序返回错误LNK2019。只是想知道这是否可能,然后再进一步搜索

我想知道是否可能有一个包含多个文件的静态库


对。这就是一个库的全部意义——对于一组预构建的对象文件来说,它是一个可重新分发的库。

您到底是如何“添加”其他.h和.cpp文件的?有问题的错误消息到底是什么?您没有将源文件添加到库中。您可以添加对象文件。是的,您可以添加任意数量的对象文件。当你链接一个程序时,你必须告诉它库的名称和位置。因此,在VisualStudio2010中,我试图做的是创建一个静态库项目。然后将几个不同的不相关的.h和.cpp文件添加到此静态库项目中。然后我复制生成的.lib文件并将其粘贴到Visual Studio->VC->lib目录中,然后将.h文件放入Visual Studio->VC->include目录中的静态库项目中。然后,我打开了我试图使用库的项目的属性管理器,转到链接器->输入->其他依赖项,并包含了.lib文件。但获取错误LNK2019:未解析的外部符号sidebar:不要这样做(将lib复制到VC/lib文件夹,将头复制到VC/include文件夹)。你应该考虑那些不受限制的地方。它是实现定义的内容。相反,请将.lib和.h文件放在您自己的dir/lib和dir/include位置,并在为需要使用它们的项目配置其他include文件夹和lib文件夹时指定这些文件夹的位置。你没有吹走一个有效的(和需要的)由于名称冲突而成为实现一部分的现有.lib或.h文件对您来说纯粹是运气。这是我的假设,但每次我尝试添加多个文件时,都会抛出LNK2019未解决的外部问题symbol@WilliamMcCarty:这不是一个包含多个对象文件的库的效果;这是因为你在某个地方做了错事。@williammcarty你的意思是在一个项目中添加多个库吗?在VisualStudio中,可以用分号分隔库文件名。正如其他人所说,一个库的整体思想是保存多个对象文件。