2010-10-22 88 views
9

我正在使用Eclipse CDT。我已經配置了「外部生成器」,並且我正在自動生成Makefiles。不幸的是,生成的Makefiles包含絕對包含路徑。我想在其他系統上使用生成的Makefiles(其中未安裝Eclipse) - 是否有辦法讓Eclipse在Makefile中使用相對路徑?使用Eclipse CDT在生成的Makefiles中使用相對包含路徑

我已經配置我的項目包括設置在目錄 - >工具設置 - > GCC C編譯器 - >包括使用$ {} workspace_log路徑。

+1

下面接受的答案適用於項目中的包含路徑,但鏈接的資源文件又如何?我生成的makefile仍然包含絕對路徑源文件。你不在項目中使用鏈接的源代碼?你如何在其他系統上編譯? – dtmland 2015-07-02 20:36:46

回答

4

如果在'包含路徑'(而不是${workspace_loc})中使用相對路徑,那麼它使用的makefile(和.mk文件)也會包含相對路徑。

+5

相對來自哪裏? – CashCow 2013-11-19 11:45:10

+1

偶然,你如何實現相同的鏈接源文件?他們仍然被設置爲絕對在我生成的makefiles? – dtmland 2015-07-02 20:42:40

+0

不,對不起...我在4年左右沒有和Eclipse一起工作過。 – 2015-07-04 12:31:05

3

您在「項目>屬性> C/C++常規>路徑和符號>包含」選項卡中添加的相對路徑與您的項目文件夾相關。

生成的makefile中出現的相對於主Makefile位置。

1

有一種更好的方法來做到這一點: 「項目>屬性> C/C++編譯>設置>工具設置>交叉G ++ [或GCC]編譯器>含」。點擊加號按鈕,然後寫:

「$ {} ProjDirPath /../../../ somefolder1/somefolder2」

這種方法允許你指定的相對路徑任何外部文件夾到您的項目文件夾,即使它位於父子文件夾中。

相關問題