我有一个无线电芯片(连接到一个嵌入式处理器),我为它编写了一个库。我想开发的协议,以用于射频芯片上的PC (Ubuntu)。为了做到这一点,我将库的头文件复制到一个新文件夹中,但在一个新的c文件中创建了一个全新的实现,并与gcc一起为PC编译。这种方法比预期的更好,而且我能够在PC上调用rf的原型代码,只需简单地将其复制到实际项目中,很少或不做任何更改。
我确实有一个小问题。我在库的头文件中所做的任何更改都需要在两个项目文件夹之间手动复制。这不是什么大不了的事,但由于这样做的效果很好,我可以看到今后还会这样做,并且希望在这样做时将API头链接到真实的环境和“模拟的”环境之间。我已经考虑过使用git子模块来这样做,但是我不喜欢我的项目中的很多文件夹,特别是如果大多数文件夹每个只包含一个或两个文件的话。我可以使用c预处理器在编译时交换正确的代码,但这并不包括生成文件中调用正确编译器的更改。
我想知道是否还有其他人做过类似的事情,他们的做法是什么?
谢谢你们!
发布于 2014-07-31 15:32:12
也许您应该创建一个"rflib“,并将其作为您在嵌入式项目中使用的外部库。一边开发,另一边更新最新版本。
发布于 2014-07-31 16:27:09
一个显而易见(但相当麻烦)的解决方案是使用符号链接。
我认为最好的解决方案,因为他们将共享如此多的代码,应该只是合并这两个项目,并有两个不同的makefile目标的二进制文件。
https://stackoverflow.com/questions/25062741
复制相似问题