这是一个复杂的帖子,所以请耐心等待。我试图尽可能地浓缩它......
我从使用不同的 PIC 微控制器工具链来到 XC8。使用以前的编译器,设置和使用我自己的库以及跨这些库使用定义似乎要容易得多。
我想编写自己的函数库以供重用。我还想将它们全部存储在我自己选择的目录结构中(这是为了使它们在多台机器之间自动同步以及出于各种其他原因)。这是一个简化的虚构文件结构。
\projects\my_project //当前项目目录
\some_other_directory\my_library\comms_lib //我的通讯库
\some_other_directory\my_library\adc_lib //我的 ADC 库
现在让我们假设我的每个库都需要 __XTAL_FREQ 定义。每个项目的频率可能会有所不同。
以下是我的问题:
告诉编译器我的库文件所在位置的最佳/最有效方法是什么?
没有将 __XTAL_FREQ 添加到每个头文件中,如何使定义对所有头文件都可用?
可能有人会说它应该在一个单独的头文件中(我们称之为 project_config.h)。然后可以将该文件与每个未来的项目一起定位并相应地进行更改。如果单独的头文件是答案,那么接下来的问题是,如何让库头(与项目不在同一目录中)为每个新项目正确引用 project_config.h 文件?
在此先感谢,马克