在 Debian 上,运行 mono-error CS8027: Error running pkg-config

bar*_*lop 4 c# linux mono debian pkg-config

我在 debian 上。我做了 sudo apt-get install mono-complete

我正在尝试编译这个程序

user@debian:~$ cat a2.cs
using Gtk;
using System;

class Hello {

        static void Main()
        {
                Application.Init ();

                Window window = new Window ("helloworld");
                window.Show();

                Application.Run ();

        }
}
Run Code Online (Sandbox Code Playgroud)

然后当我尝试编译它时,我收到此错误

user@debian:~$ mcs a2.cs -pkg:gtk-sharp-2.0
Package gtk-sharp-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk-sharp-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk-sharp-2.0' found
error CS8027: Error running pkg-config. Check the above output.
user@debian:~$ 
Run Code Online (Sandbox Code Playgroud)

类似问题的一个答案是尝试 d​​mcs

user@debian:~$ dmcs a2.cs -pkg:gtk-sharp-2.0
Package gtk-sharp-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk-sharp-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk-sharp-2.0' found
error CS8027: Error running pkg-config. Check the above output.
user@debian:~$ 
Run Code Online (Sandbox Code Playgroud)

但是 dmcs 给出了同样的错误

我看到一个建议做 yum install gtk-sharp2 但无论我使用什么咒语都说没有可用的包所以我不确定那个包是什么

user@debian:~$ sudo yum install gtk-sharp-2.0
Setting up Install Process
No package gtk-sharp-2.0 available.
Nothing to do
user@debian:~$ 

user@debian:~$ sudo yum install gtk-sharp2-devel
Setting up Install Process
No package gtk-sharp2-devel available.
Nothing to do
user@debian:~$ 
Run Code Online (Sandbox Code Playgroud)

我查看了我的错误 https://stackoverflow.com/search?q=cs8027 ,他们都说这个变量 PKG_CONFIG_PATH 必须指向正确的路径。

目前虽然该变量不存在,但我不知道将其指向什么路径。显然,这是一个带有一些 .pc 文件的 gtk 路径。我不知道那是哪里。

user@debian:/usr$ echo $PKG_CONFIG_PATH

user@debian:/usr$
Run Code Online (Sandbox Code Playgroud)

Mik*_*ual 5

你说你用的是 debian,但你跑了yum?似乎不是一个好主意。

尝试运行:

sudo apt-get update
sudo apt-get install gtk-sharp2
Run Code Online (Sandbox Code Playgroud)

然后,不要忘记执行以下操作:

make clean
Run Code Online (Sandbox Code Playgroud)

并从一开始就开始编译过程。

由 barlop 添加

我第一次尝试时遇到错误problem: 0:System.Drawing.SizeF.Conversion, with xpath: /Type/Members/Member[@MemberName='op_Conversion']/Docs ,我中断了安装,但它继续尝试安装然后说它中断了。

但是再次执行该命令,apt-get 似乎没有再次安装它,但立即说它是最新版本,并且我的程序已编译。因此,尽管安装时出现问题,但它必须已安装或安装充分。

它使这个文件/usr/lib/pkgconfig/gtk-sharp-2.0.pc成为其中之一,

$ dmcs a2.cs -pkg:gtk-sharp-2.0 <-- 然后工作