为仅标头库创建块
Creating a block for a header-only library
本文关键字:创建 更新时间:2023-10-16
我正在尝试将仅标题库转换为块。该库已使用 CMake,并包含测试和示例程序。我已经浏览了biicode文档,但不清楚如何为现有项目创建块。我很困惑我应该做bii init -L
还是bii cpp:configure
.我尝试在 biicode.conf 中将 Boost 指定为要求,但得到WARN: Removing unused reference to "biicode/boost: 0"
请让我知道为现有项目创建块的步骤,谢谢。
您应该在库的文件夹中开始使用bii init -L
。然后,按照文档中的此步骤,使用 bii deps
命令检查未解析的依赖项,调整 biicode.conf 文件(如果需要),并添加外部依赖项。
还可以调整您当前的 CMakeLists.txt:
IF(BIICODE)
INCLUDE("biicode.cmake")
RETURN()
ENDIF()
biicode.cmake 文件至少应该包含 ADD_BII_TARGETS()
,因为你依赖于 Boost,你的文件应该看起来像下面的代码,这里有一个指南解释了如何依赖 Boost。
#Include the biicode Boost setup script
include(biicode/boost/setup)
ADD_BII_TARGETS()
#Setup Boost and build (if needed) the required Boost components
#Since lambda is header-only, there are no components to build and find
bii_find_boost()
#Add Boost headers to the block include directories
target_include_directories(${BII_BLOCK_TARGET} INTERFACE ${Boost_INCLUDE_DIRS})
运行 bii find
以检索相关内容,bii configure
将其配置为当前配置并使用 bii build
进行构建。在此处查看文档中构建的常见问题。
对于使用 boost 的问题 - biicode 在 github 中有一个 boost 存储库。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 使用std::multimap迭代器创建std::list
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 使用CMake创建QML插件
- 如何在c++中为模板函数实例创建快捷方式
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 试图在visual studio上用C++创建一个桌面应用程序
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 如何在C++20中创建模板别名的推导指南
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 如何创建一个空的全局类并在启动时实例化它
- 无法创建抽象类的实例
- 链接到自行创建的dll失败
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何在C++类内存结构中创建"spacer"?
- 终端不会为C++文件创建.exe文件吗
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息