我目前正在编写一个实用程序库,该库将附带一个预编译的 DLL 文件和库的头文件。到目前为止,有一大堆头文件,但我想将它们全部编译成一个头文件(有点像只预处理#include指令)。
我想知道,是否以及如何使用 CMake 实现这样的一代。
真诚的,莱克斯
这些工具并非特定于 CMake,但可以在 CMake 内部调用。
我最近收集了一些链接来为ApprovalTests.cpp创建单标头版本。
我最初将它们记录在podsiadly/ImageApprovals 中的一个问题的评论中:这个答案是为了使该信息更容易共享。
选项:
inline到输出,要么将 .cpp 文件中的所有代码放入输出中的一个位置,这只编译一次。
CATCH_CONFIG_MAIN例如,这就是 Catch2 的工作原理。inline.cpp文件inline.cpp 中的某些函数:有一个(可定制的)约定用于放入inline_t源代码,其中inline应包含在生成的标头中#include行、各种模板标记、Pragmas 等.cpp文件吗?inline// ~*~* CATCH_CPP_STITCH_PLACE *~*~- 它在include/internal/catch_impl.hpp中找到,并按字母顺序粘贴所有 .cpp 文件#include(在preprocess_file)a.hpp包含b.hpp则将b.hpp首先处理,SingleHeaderGen.generate)#ifdef/#endif.ImageApprovals_IMPLEMENT.cpp 文件中的代码将仅在定义时编译一次.cpp文件.cpp文件| 归档时间: |
|
| 查看次数: |
581 次 |
| 最近记录: |