编译nautilus文件管理器

因为要写文件管理器插件来处理右键菜单,文件属性等,所以选择了Ubuntu的nautilus文件管理器。在Linux下只有到了最后通过你才能知道需要什么依赖。
本文在mint-linux 19 中文版
Linux bkdrong-virtual-machine 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

nautilus 有下面的依赖,要处理好依赖然后才能编译好。

  • nautilus 依赖 libgd(在subprojects目录下)
  • nautilus 依赖 meson (生成ninja)
  • nautilus 依赖ninja编译
  • nautilus 依赖库,在meson.build 中
gnome-autoar-0
gail-3.0
gnome-desktop-3.0
libselinux
tracker-sparql-2.0
libgirepository1.0-dev
appstream-util
  • 那么我们就要得到 meson
  • 那么我们就要得到 ninja
  • 得到那些库

位置:

git clone -b gnome-3-26 https://github.com/GNOME/nautilus.git
https://gitlab.gnome.org/GNOME/libgd.git
git clone https://github.com/mesonbuild/meson
git clone git://github.com/ninja-build/ninja.git

从新立得包管理器 下载下面的开发包

gnome-autoar-0-dev
gail-3-dev
gnome-desktop-3-dev
libselinux1-dev
libtracker-sparql-2.0-dev
libgirepository1.0-dev
appstream-util

当找不到 libgirepository1.0-dev 的时候 显示 g-ir-scanner 错误

编译

在nautilus 目录创建一个 目录 build
cd build
meson.py …
ninja

这样就会编译,如果出错,就按照出错信息找到相应的库安装。最后总会成功.

你可能感兴趣的:(系统编程,linux,开源学习)