Flint库将所有 header 放入$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,因此似乎需要更多工作。

    最佳答案

    始终使用相对于/usr/include的路径。这样,您的代码将在大多数UNIX系统上开箱即用,并且避免名称冲突(请考虑 header util.h)。

    一旦需要将项目移植到对开发人员不太友好的平台(主要是Windows),您的构建系统就需要确定依赖项的位置并设置适当的编译器开关。

    关于c++ - 包括 “flint.h”或 “flint/flint.h”是更好的做法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26468980/

    10-13 07:34