二进制库的C++链接或简单的头包含

C++ linking of binary libraries or simple header inclusion?

本文关键字:简单 包含 链接 C++ 二进制      更新时间:2023-10-16

我目前正在为伟大的助推包编译二进制文件[看起来是这样,因为我可以包含伟大的lambda函数:)]。现在我有两个选择:

1) 编译所有库并将这些库链接到我的项目或2) 只需添加头文件并编译整个项目。

好吧,这是一个基本的理解问题:我什么时候应该支持选项1而不是选项2?这是编译时的问题吗?

对不起,我知道这个问题很基本,但我真的不确定如何评估这些替代方案。

非常感谢!

实际上只有一些boost需要编译的库(而不是IMO,更有用的部分)。对于其中的大部分内容,只需包含实现所需功能的标头即可。查看库列表以查看可用内容;如果它需要一个编译的部分,它会在"Build&Link"下说一些除了"Header only"之外的内容。如果你在Linux上开发,boost的库应该是可用的,并且可以很容易地访问链接,而无需任何构建,因为它们在许多Linux应用程序中都使用。