【发布时间】:2014-12-15 15:10:06
【问题描述】:
Flint 库将所有标头放入$PREFIX/include/flint/。 Arb 库然后包含 Flint 标头。对于 Arb 来说,将它们包括在内,这两者中的哪一个更好:
#include "flint.h"#include "flint/flint.h"
优点/缺点:
如果 Arb 和 Flint 安装在 /usr/include 中(例如在 Debian 中),那么使用 2.,用户无需执行任何操作,但使用 1.,用户需要使用 -I/usr/include/flint。
所以 2. 的优点是使用 Arb 库的用户只需要为所有需要的库指定包含路径 (-I) 到 $PREFIX/include。对于 1.,必须包含路径 $PREFIX/include/flint,所以这似乎需要更多的工作。
【问题讨论】:
-
我个人更喜欢2.形式。
-
如果其他人在另一个项目中也有一个 flint.h 并且您也需要使用该文件怎么办?您将需要使用“flint/..”形式。所以从一开始就坚持下去。
-
为什么这个问题应该以基于意见的方式结束?有一个令人信服的技术论点为什么应该首选第二种形式。
-
没错,下面的两个答案(@pmr,@piokuc)都表明 2. 是要走的路。谢谢两位的回答!
-
使用文档建议的内容。 Flint 2.4.4 文档包含对
#include "flint.h"的引用;除非您确定自己知道自己在做什么,否则请遵循它。
标签: c++ c header-files include-path subdirectory