【问题标题】:Precompiled headers with Autotools使用 Autotools 预编译的头文件
【发布时间】:2010-11-25 05:49:38
【问题描述】:

是否可以在使用 automake/libtool 的项目中使用 gcc 预编译头文件?

添加新的 make 规则来构建预编译的头文件并不困难。问题是您还必须添加 libtool 和 AFAIK 引入的编译标志,它无法处理头输入文件。

你怎么能这样做?

【问题讨论】:

  • 我认为上次我检查过的 autotools 计划支持它(很久以前)。我也想知道它已经走了多远。

标签: autotools autoconf automake precompiled-headers libtool


【解决方案1】:

是的 - 尽管 AFAIK 在 automake 中仍然没有对它们的内置支持。

我关注these instructions 并在我的一个项目中使用了预编译的标头,将构建时间缩短了一半:-)

【讨论】:

    【解决方案2】:

    问题在于解决方案并非适用于所有系统; libtool 将使用与 $(CXXCOMPILE) 不同的编译器命令行,因此在某些系统上使用 libtool 时,您最终无法使用预编译头文件。

    我还没有找到解决这个问题的方法;我尝试使用 $(LTCXXCOMPILE),但它抱怨它不知道如何处理头文件(比如libtool: compile: cannot determine name of library object from 'project.hxx')。当然,它应该做的是使用project.hxx.gch 作为输出文件,但我看不出有什么方法可以让它在不修改 libtool 脚本的情况下做到这一点,这会破坏使用 GNU 构建系统的目的……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 2010-11-20
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 2010-09-13
      相关资源
      最近更新 更多