2012-02-10 56 views
0

我目前正在编译伟大的增强包的二进制文件[它似乎是,因为我可以包括伟大的lambda函数:)]。现在我有两个选择:C++链接二进制库或简单的头包含?

1)编译所有的图书馆,这些图书馆链接到我的项目或 2)只需添加头文件和编译整个项目。

嗯,这是一个理解的基本问题:我应该在选项2时优先选择1吗?这是编译时间问题吗?

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

非常感谢!

+1

Boost不是一个库,它是一个库的集合。其中一些库只是头文件而不需要链接,其他库则不是。这里没有“替代品”,因为您需要根据所讨论的库来做不同的事情。 – ildjarn 2012-02-10 23:12:13

+1

增强包? – 2012-02-10 23:14:34

+0

嗯,我对这个图书馆藏品使用了术语“包装”。我知道我只需要实现我真正需要的特定库。目前我正在使用bjam工具编译> 1Gb的库。那么这是否意味着:这只对一小部分库是必须的? – 2012-02-10 23:22:39

回答

0

只有一些boost实际上需要编译库(而不是IMO,更有用的部分)。对于大多数情况,只需包含实现您所需功能的标头即可。检查the library listing以查看可用的内容;如果需要编译的部分,它会在“构建&链接”下面说“除标题”之外的内容。如果您正在Linux上开发,boost的库应该可用,并且可以轻松访问,无需任何构建,因为它们在许多Linux应用程序中使用。