Tldr
在
Linux
下通过cmake
与Conan
进行C++
项目初始化与开发的一份简单指北
环境准备
首先,我们需要下载以下软件:
cmake
make
或者ninja
python3
pip
或者pipx
clang
系列工具:clangd
,clang(++)
,clang-format
,clang-tidy
- cppcheck
需要注意的是,CMake
的版本最好在 3.27
以上,可以根据 此教程 来安装最新版本的 CMake
,目前的最新版本是 3.31
关于 clang
工具链的版本,可以根据 此教程 进行安装
软件安装
我们采用 cmake-init 来进行项目的初始化,并使用 Conan2 来作为包管理器,首先,我们通过 pip
安装:
在正式开始初始化项目前,我们需要先初始化包管理器 Conan2
:
项目初始化
使用以下命令初始化一个名为 demo
的项目:
经过一系列选择,我们得到的文件树如下:
在初始化时,如果包管理器选择为 Conan
,那么会生成一个 conanfile.py
,里面描述了依赖的包:
我们首先安装这些包,使用命令:
随后,Conan
会生成一个文件夹 conan
,并在其中生成一系列 .cmake
文件
接着,我们使用 cmake
的新特性 Preset
,这也是为什么我们需要 cmake
的版本大于 3.27 的原因:
此时,我们就在 build/dev
文件下生成了一个可执行文件 demo
,使用命令:
即可运行
使用第三方库
我们在 Conan 中可以搜索自己想要安装的包,例如 unordered_dense
,然后,根据官网的说明,在 conanfile.py
与 CMakeLists.txt
中填入信息:
我们填入以下信息:
Important
值得注意的是,在
CMakeLists.txt
中指定的库,我们需要将其设置为PUBLIC
,否则会导致链接失败