我全新安装了 18.04,现在无法构建模拟器前端 Gelide。它有一些非常老的 gtk 依赖项,我无法再降级到它们。代码看起来使用了一些已弃用的静态方法,非静态替代方案不会返回相同的类型。有没有人足够熟悉 gtk 来帮助进行必要的更改以使其构建?这是 repo:https://github.com/tapule/Gelide
谢谢。
答案1
首先我们需要安装构建工具和依赖项
sudo apt-get install git build-essential autoconf libtool automake intltool \
libtool-bin libglib2.0-dev libgtkmm-2.4-dev libxml2-dev gnome-doc-utils \
rarian-compat
然后克隆存储库
cd ~/Downloads
git clone https://github.com/tapule/Gelide.git
配置源并编译:
cd Gelide/
./autogen.sh
make
此步骤在干净的 18.04 LTS 上失败,我在最后阶段收到错误:
config.cpp: In constructor ‘CConfig::CConfig()’:
config.cpp:31:16: error: ‘build_filename’ is not a member of ‘Glib’
l_cfg = Glib::build_filename(utils::getGelideDir(), GELIDE_CFG_FILE);
^~~~~~~~~~~~~~
config.cpp:33:11: error: ‘file_test’ is not a member of ‘Glib’
if(Glib::file_test(l_cfg, Glib::FILE_TEST_EXISTS))
^~~~~~~~~
config.cpp:33:34: error: ‘FILE_TEST_EXISTS’ is not a member of ‘Glib’
if(Glib::file_test(l_cfg, Glib::FILE_TEST_EXISTS))
^~~~~~~~~~~~~~~~
config.cpp: In destructor ‘virtual CConfig::~CConfig()’:
config.cpp:40:13: error: ‘build_filename’ is not a member of ‘Glib’
save(Glib::build_filename(utils::getGelideDir(), GELIDE_CFG_FILE));
^~~~~~~~~~~~~~
Makefile:612: recipe for target 'config.o' failed
make[2]: *** [config.o] Error 1
make[2]: Leaving directory '/home/mate/Downloads/Gelide/src'
Makefile:553: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/mate/Downloads/Gelide'
Makefile:464: recipe for target 'all' failed
make: *** [all] Error 2
因此需要对该代码进行一些修补。我报告了错误给开发人员。
但在 16.04 LTS 上我可以进一步:
sudo make install
运行它gelide
得到很棒的截图: