在两个项目之间同步单个c头文件

时间:2014-07-31 15:17:33

标签: c git header-files

我有一个无线电芯片(连接到嵌入式处理器),我已经为它写了一个库。我想开发用于PC上的rf芯片的协议(Ubuntu)。为了做到这一点,我已经将我的库的头文件复制到一个新的文件夹中,但是在新的c文件中创建了一个全新的实现,并使用gcc为PC编译。这种方法的效果比预期的要好,而且我能够在PC上调用rf lib的原型代码,只需将其复制到实际项目中,几乎不做任何更改。

我确实有一个小问题。我在库的头文件中所做的任何更改都需要在两个项目文件夹之间手动复制。没什么大不了的,但是由于这个工作做得很好,我可以在将来再次看到这样的事情,并且想要在真实的和模拟的#34;之间链接API标题。这样做的环境。我曾考虑使用git子模块这样做,但我并不喜欢我项目中的大量文件夹,特别是如果大多数文件夹中只包含一个或两个文件。我可以使用c预处理器在编译时交换正确的代码,但是这并没有涵盖我的Makefile中的更改,以便用正确的fags调用正确的编译器。

我想知道是否还有其他人做过类似事情,以及他们的做法是什么?

谢谢你们!

2 个答案:

答案 0 :(得分:1)

也许您应该创建一个“rflib”并将其视为您在嵌入式项目中使用的外部库。 一方面发展,另一方面更新到最新版本。

答案 1 :(得分:1)

一个明显(但相当苛刻)的解决方案是使用symlink

我认为最好的解决方案,因为他们将共享这么多代码,就是合并这两个项目,并为二进制文件设置两个不同的makefile目标。