2009-11-21 37 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文件将会诀窍。