2013-04-15 140 views
4

我正在寻找一种直接的方式,使用Eclipse/CDT为C++项目使用预编译头文件。这些东西在从命令行运行时工作,但我正在寻找一种简单的方法将其集成到Eclipse中。Eclipse CDT - 预编译头文件

有什么建议?!

回答

1

从我所看到的,目前Eclipse CDT不直接支持预编译头文件。我的意思是,你不能设置一个选项,如:“为了这个头文件,编译它”。这同样适用于您的eclipse项目的外部库的头文件。如您所知,您需要为头文件编译设置相同的编译器标志,以便让编译器将其用于其他编译单元。 (至少在GCC的情况下)。

所以,你有几种解决方案:

  • 您更换发现默认的内部命令 “属性 - > C/C++编译 - >生成器设置 - > Build命令” 使用自定义脚本,将修改由eclipse生成的makefile然后调用make。建议红宝石溶液here。请注意,它不允许使用多个预编译头文件。
  • 您可以使用ccache而不是使用GCC。它检测到相同的编译再次完成时,所以与使用预编译头文件有点不同。

编辑:

为了让Ruby脚本的工作,你需要有相同的目录中的头文件中的至少一个.cpp文件。否则,您会在缺少文件“subdir.mk”时收到错误消息。

0

另一种方法是创建一个源文件(例如pch.cpp),并更改生成设置以创建预编译头。它应该包含在构建中以创建预编译头,然后排除以构建最终的可执行文件。如果头文件被改变,它需要暂时重新引入。

This website提供了更多的细节,包括为每个构建配置创建不同预编译头的方法。