这个例子从一个读取配置文件的程序讲起。
项目庞大之后,可以考虑不再把所有目标文件都链接到 main 程序中,而是分模块生成动态链接库,最近发现用 cmake 干这个事是真的爽。
现有一个连接数据库的 yaml 配置文件如下:
database
我想把读取配置文件的模块单独抽出来,就叫 tardis 好了,这里需要用到 yaml-cpp 库,首先生成一个名为 tardis 的动态链接库,然后 main 再链接它,CMakeLists.txt 如下:
cmake_minimum_required
我的项目目录:
// tardis.hpp
头文件暴露功能函数,然后在 main.cpp 中使用;
// main.cpp
最后把 tardis.cpp 的主体放出来吧
#include
这里用到了单例模式,不过感觉也不是很必要。另外如果是 C 和 C++ 互调的话,需要在库对应的头文件里的函数前加上 extern "C" ,表示以 C 的方式调用。