2009-11-21 76 views
1

背景:PC上的Keil C51,目前正轉向iMac上的GCC(CrossPack-AVR)。GCC中的代碼片段路徑

因爲我爲micro寫了固件,所以我需要包含很多'驅動程序'源文件等,這些文件需要包含在我的程序中。一個LCD驅動器,即重用代碼。這些代碼片段(.c和.h文件)在/snippets/文件夾中存在子文件夾,即/snippets/lcd/。我的/snippets/曾經在一個文件夾中,同時也有/projects/文件夾用於項目或應用程序。我曾考慮將它們放在一個圖書館中,但我使用了各種架構,所以它不會總是有效。

問題:如何在GCC中設置該值,而不必在例如各種#include路徑等中指定片段的絕對路徑,以便重新編譯包含的片段的源文件以及使用/包含它的項目?因此,如果我對代碼片段進行改進,那麼隨後編譯/重新編譯的所有項目都會受益?

我在谷歌環顧四周,但必須使用錯誤的搜索詞。

謝謝!

+0

我不知道我是否正確地得到了問題:您有片段(.c)和相應的包含文件(.h),並且您希望GCC重新編譯更改後的片段(如果它們包含在當前項目中)。對? – f3lix 2009-11-21 12:27:46

+0

我有許多c源文件(及其相關的h文件),用於各種硬件(LCD,DUART,鍵盤等)。每個文件都存放在自己的文件夾(/ lcd/duart/keypad)中。所有這些都位於名爲/ snippets的文件夾中,而該文件夾又位於名爲/ dev的文件夾中。另外在/ dev中有/ projects文件夾。因此,如果我正在處理一個項目,例如機器人,會有一個名爲/ dev/projects/robot的文件夾,其中包含組成機器人應用程序的文件。但是,如果機器人需要LCD,那麼如何告訴gcc在不指定絕對路徑的情況下包含/dev/snippets/lcd/lcd.h&lcd.c,例如$ SNIPPETPATH/lcd/lcd.h。 – Joe 2009-11-21 12:47:03

回答

0

我認爲make文件將會訣竅。