3

我正在尝试使用 biicode 来管理我的项目的依赖项,以便我可以自动化诸如 boost 或 sqlite 之类的事情并使用 travis-ci

据我了解 bii 期望您的源文件位于您的块的根文件夹中,就像他们的教程中提到的那样:

|-- my_project
|    +-- bii
|    +-- bin
|    +-- blocks
|    |    +-- myuser
|    |    |     +-- my_block
|    |    |     |     |-- main.cpp
|    |    |     |     |-- biicode.conf

但就我而言,源文件是这样的

|-- my_project
|    +-- bii
|    +-- bin
|    +-- blocks
|    |    +-- myuser
|    |    |     +-- my_block
|    |    |     |     |-- src
|    |    |     |     |    +--folderA
|    |    |     |     |    |    +--core
|    |    |     |     |    |        |-- various .cpp
|    |    |     |     |    |    +--impl
|    |    |     |     |    |        |-- various .cpp
|    |    |     |     |    |-- various .cpp
|    |    |     |     |-- biicode.conf

和运行配置一直缺少这些文件夹

bii cpp:configure

我已经阅读了有关biicode.conf的文档,但它没有提到源文件的替代路径。

所以我的问题是,我真的需要将所有内容都放在一个平面目录中,其中每个源文件都在同一个文件夹中以使用 biicode 吗?

编辑:我忘了提到我正在尝试构建一个库(用于另一个 bii 项目),而不是可执行文件

4

1 回答 1

1

您可以在blocks/my_user/my_block. 例如,看看这个块:

fenix/flatbuffers 块

这里有一个没有任何模式的结构。

biicode.conf,除其他外,可以帮助您告诉 biicode 您的头文件(但不是源文件)在哪里,这要归功于[paths]section,因为源文件 biicode 会自动检测它们,否则您可以使用 section 自定义您的依赖项[dependencies]

用这个布局做一个例子:

|-- my_project
|    +-- bii
|    +-- bin
|    +-- blocks
|    |    +-- myuser
|    |    |     +-- my_block
|    |    |     |     |-- src
|    |    |     |     |    +--folderA
|    |    |     |     |    |    +--core
|    |    |     |     |    |        |-- core.h
|    |    |     |     |    |        |-- core.cpp
|    |    |     |     |    |    +--impl
|    |    |     |     |    |        |-- impl_ext.h
|    |    |     |     |    |        |-- impl.h
|    |    |     |     |    |    +--src
|    |    |     |     |    |        |-- impl.cpp
|    |    |     |     |    |        |-- impl_ext.cpp
|    |    |     |     |    |-- CMakeLists.txt
|    |    |     |     |-- biicode.conf
|    |    |     |     |-- CMakeLists.txt

然后,您的.cpp文件可能具有相关包含,例如:

#include "core/core.h"
#include "impl/impl.h"
#include "impl/impl_ext.h"

假设你的 CMakeLists.txt 文件是正确的,你只需要告诉 biicode 它必须在哪里搜索这个“相对”标题,所以写入biicode.conf

[paths]
   folderA/core
   folderA/impl

我希望它能解决你的疑惑!;)

于 2015-02-20T10:45:38.143 回答