到目前为止,我已经能够使用 biicode 成功使用 boost、谷物和 gtest,但我在使用 sqlite 时遇到了麻烦。我正在尝试使用它来执行以下操作:
#include <sqlite3.h>
所以我编辑了我的 biicode.conf 以包含这些行,包括标题的别名:
[requirements]
sqlite/sqlite:9
[includes]
sqlite.h: sqlite/sqlite/sqlite3/sqlite3.h
但是当我尝试调用 bii cpp:build 时,它会执行以下操作
WARN: Removing unused reference to "sqlite/sqlite: 9" from myuser/test "requirements"
然后我得到了预期的结果:
database_impl.cpp:(.text+0x516): undefined reference to `sqlite3_exec'
令人惊讶的是,即使 sqlite3.h 显然不包括在内,编译也成功了,但这可能是因为对 sqlite 的调用来自模板函数。
我看过这个例子,但 CMakeList.txt 似乎没有添加任何额外的包含目录。例如对于 boost 我必须添加:
SET(Boost_USE_STATIC_LIBS OFF)
bii_find_boost(COMPONENTS chrono system filesystem log thread REQUIRED)
target_include_directories(${BII_BLOCK_TARGET} INTERFACE ${Boost_INCLUDE_DIRS})
target_link_libraries(${BII_BLOCK_TARGET} INTERFACE ${Boost_LIBRARIES})
但是我在这里和这里找到的两个示例似乎没有向包含目录添加任何内容,甚至没有添加任何链接文件夹。我想 sqlite 必须用你的源代码编译,所以我如何让 biicode 自动将这些文件添加到我的项目中?