SQLite和googletest都提供了单文件版本,非常易于使用,只需添加一个源文件即可将其轻松用于其他项目中。它们都使用自制工具来创建合并的源文件,因此我想知道是否有更通用的工具可以做到这一点?它应该接受一个实现/头文件列表,并输出一个组合的头文件/源文件,并修复本地包含。如果不支持条件包含/带有不同#defines
的包含,例如Boost.Tuple/MPL使用它们,我也可以接受。典型的目标库可能是ICU之类的东西。
SQLite和googletest都提供了单文件版本,非常易于使用,只需添加一个源文件即可将其轻松用于其他项目中。它们都使用自制工具来创建合并的源文件,因此我想知道是否有更通用的工具可以做到这一点?它应该接受一个实现/头文件列表,并输出一个组合的头文件/源文件,并修复本地包含。如果不支持条件包含/带有不同#defines
的包含,例如Boost.Tuple/MPL使用它们,我也可以接受。典型的目标库可能是ICU之类的东西。
gcc -E
),然后以类似的方式操作代码单元。