2013-04-15 135 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提供了更多的細節,包括爲每個構建配置創建不同預編譯頭的方法。