cmake和xshell (xmake和cmake)

古老语言C++的缺点,总被新语言嘲笑,但老顽童也是虚心学习的。

今天主要说包管理器。年初也介绍过vcpkg,conan,自己也用几年conan了。现在又多了个重器:xmake 构建工具和 xrepo 包管理器 。

前段时间用到coost v3.0,但conan包提了有两个月了,也没更新上,看到它极力推荐国产xmake构建工具,并且有自带xrepo包管理器,同步发布。那就看下介绍吧。

习惯先看 https://github.com/xmake-io/xmake介绍:

Xmake = Build backend + Project Generator + Package Manager + [Remote|Distributed] Build + Cache

Xmake ~= Make/Ninja + CMake/Meson + Vcpkg/Conan + distcc + ccache/sccache

两句话,彰显实力。ninja,meson 一笔带过,vcpkg,conan 包揽管理器,

到官网开始入门,上图:

https://xmake.io/#/getting_started

cmake和xshell,cmake编译子项目

还有他的库:

https://xrepo.xmake.io/#/,图就不上了,自己去入门一下吧。

官网看完,开始example,当然,命令行跑一遍很不错,中间遇到了一些问题,我有简单记录,下面会提。我们看完美的IDE界面调试了。

vscode+xmake+gcc,在vscode安装xmake插件:

cmake和xshell,cmake编译子项目

就可以直接调试了,真的很方便,之前一直是log调试,打算装gdb,都因麻烦而放弃。这下解决了。具体:

cmake和xshell,cmake编译子项目

注意到,装完插件,打开xmake工程,底栏会有调试选项,

文件夹选xmake-example,env,自动选择linux,x86_64,模式选debug模式,build工程选console,选完之后,点击齿轮build,

cmake和xshell,cmake编译子项目

编译通过后,就可以点击 虫子 进行调试了:

cmake和xshell,cmake编译子项目

真的是不错,具体例子在https://github.com/youngday/xmake-example,

具体有问题,在readme有简单说明:,其中有两点,

  • xrepo拉取远程包时,github*载下**不成功,换gitee,或手动*载下**本地并设置本地路径。
  • xmake l find_package xxx 去查找 apt ,conan,vcpkg ,手动make install 包,名字要好好找,是否带lib-,-dev,大小写,这个比较麻烦,要注意。

好了,介绍完了,切换conan,cmake到国产的xmake吧,方便简单,终于可以像现代语言一样,专注写c++17的应用了。加快步伐,c++老顽童。