因爲要寫文件管理器插件來處理右鍵菜單,文件屬性等,所以選擇了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
這樣就會編譯,如果出錯,就按照出錯信息找到相應的庫安裝。最後總會成功.