我觉得我错过了这个的一些关键想法。
我有一个库,我想为其创建一个 CMakeLists.txt 文件。我想将它与不同的应用程序链接起来。
该库需要conf.h
定义一个文件。应用程序必须提供这一点。图书馆期待它。这种关系叫什么?
我目前的解决方案CMakeLists.txt
是有一个变量,如:
...
target_include_directories(lib PUBLIC
${CONF_DIR}
)
然后让应用程序定义 CONF_DIR。这很不酷,因为我不能有多个应用程序链接它。
唯一的另一种选择是将整个源库的副本保留在应用程序文件夹中,这也很不酷。
我希望最大限度地提高可重用性。我该如何处理?
旁注:对于任何熟悉的人,有问题的库是 STM32Cube 的 HAL 库,讨厌的文件是stm32h7xx_hal_conf.h
.