C# GtkSharp 3.22适用于单声道
我需要在Linux环境中使用Mono编写一个Gtk应用程序。由于我需要>=3.22中提供的特定功能,我无法使用默认的Gtk2库 迄今为止尝试的步骤:C# GtkSharp 3.22适用于单声道,c#,mono,gtk,gtk3,C#,Mono,Gtk,Gtk3,我需要在Linux环境中使用Mono编写一个Gtk应用程序。由于我需要>=3.22中提供的特定功能,我无法使用默认的Gtk2库 迄今为止尝试的步骤: 安装Gtk3库版本3.22.24.0sudo apt get install libgtk-3-dev 在MonoDevelop中,安装它应该提供最新的Gtk绑定版本3.22.6.4 运行一个简单的Gtk应用程序(如main中的Gtk.application.Init())会触发以下异常: System.DllNotFoundException:
sudo apt get install libgtk-3-dev
Gtk.application.Init()
)会触发以下异常:
System.DllNotFoundException: libgtk-3.so.0
尽管ldconfig-p | grep libgtk
在/usr/lib/x86_64-linux-gnu
下返回了这样一个文件
我觉得我错过了一些很明显的东西。我正在运行Ubuntu17.10(x86),MonoDevelop7.1版本1291
编辑——问题在于MonoDevelop是通过Flatpak安装的,Flatpak提供了一个沙箱环境,可以“屏蔽”应用程序,使其不受外部引用(包括Gtk库)的影响。因此,我几乎一字不差地安装了Mono并编译了Mono:
sudo apt install -y autoconf automake cmake fsharp git gnome-sharp2 gtk-sharp2 libssh2-1-dev mono-complete referenceassemblies-pcl zlib1g-dev
git clone https://github.com/mono/monodevelop.git --branch monodevelop-X --depth 1 X
./configure --profile=stable --enable-release
make
sudo make install
sudo apt-get install libgtk-3-dev
由于某种原因,我的应用程序在MonoDevelop中运行时崩溃(与由
Builder.ExtendWithTemplate
导入的Glade文件有关),但在命令行mono.exe
中运行,因此我的解决方案可能不是最好的,但这只是一个开始。您知道如何将GTK3与MonoDevelop一起使用吗?
sudo apt-get install libgtk-3-dev