是否可以在使用 automake / libtool 的项目中使用 gcc 预编译头文件?
添加新的 make 规则来构建预编译的头文件并不困难。问题是您还必须添加 libtool 和 AFAIK 引入的编译标志,它无法处理头输入文件。
你怎么能那样做?
是否可以在使用 automake / libtool 的项目中使用 gcc 预编译头文件?
添加新的 make 规则来构建预编译的头文件并不困难。问题是您还必须添加 libtool 和 AFAIK 引入的编译标志,它无法处理头输入文件。
你怎么能那样做?
问题是解决方案不适用于所有系统;libtool 将使用与 $(CXXCOMPILE) 不同的编译器命令行,因此在某些系统上使用 libtool 时,您最终无法使用预编译头文件。
我还没有找到解决这个问题的方法;我尝试使用 $(LTCXXCOMPILE),但它抱怨它不知道如何处理头文件(说libtool: compile: cannot determine name of library object from 'project.hxx'
)。当然,它应该做的是project.hxx.gch
用作输出文件,但我看不出有什么方法可以让它在不修改 libtool 脚本的情况下做到这一点,这会破坏使用 GNU 构建系统的目的……</p >
是的-尽管AFAIK在automake中仍然没有对它们的内置支持。
我遵循了这些说明,并在我的一个项目中使用了预编译的标头,将构建时间缩短了一半:-)