C# 在Debian上,运行mono-错误CS8027:运行pkg config时出错

C# 在Debian上,运行mono-错误CS8027:运行pkg config时出错,c#,linux,mono,debian,pkg-config,C#,Linux,Mono,Debian,Pkg Config,我在debian上。 我没有让sudo完成安装mono 我正在试图编译这个程序 user@debian:~$ cat a2.cs using Gtk; using System; class Hello { static void Main() { Application.Init (); Window window = new Window ("helloworld");

我在debian上。 我没有让sudo完成安装mono

我正在试图编译这个程序

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 ();

        }
}
当我试图编译它时,我得到了这个错误

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:~$ 
一个类似问题的答案是尝试dmcs

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:~$ 
但是dmcs给出了同样的错误

我看到了一个建议,建议使用yum安装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:~$ 
我查找了我的错误,他们都说这个变量PKG_CONFIG_PATH必须指向正确的路径

目前,虽然这个变量不存在,我也不知道它指向什么路径。显然,这是一个路径,其中包含gtk的一些.pc文件。我不知道那在哪里

user@debian:/usr$ echo $PKG_CONFIG_PATH

user@debian:/usr$

您说您正在使用debian,但您运行的是
yum
? 这似乎不是个好主意

尝试运行:

sudo apt-get update
sudo apt-get install gtk-sharp2
然后,别忘了做:

make clean
并从一开始就开始编译过程

由巴洛普添加

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

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

它使这个文件成为
/usr/lib/pkgconfig/gtk-sharp-2.0.pc
等文件


$dmcs a2.cs-pkg:gtk-sharp-2.0
是否可能在debian中复制yum?不,我想你想用apt-get;不管怎样,我把这个问题标记为duplicate@knocte您链接到的问题有关于Yum的答案。尝试在百胜(我知道在debian中不应该这样),运行百胜只是一个错误,幸运的是它没有做任何事情。我在你的“复制”链接上没有看到解决我问题的任何答案链接问题中有两个答案,一个是关于yum,另一个是关于apt-getI我没有编译它,我只是做了apt-get而不是编译。我唯一一次尝试百胜(我现在明白在debian中尝试百胜是错误的),但我唯一一次尝试百胜就是如上所述,幸运的是它没有做任何事情。所以这并不能解决问题。尽管如此,我现在正在运行apt get update and make clean so,
sudo apt get gtk-sharp2-devel
没有安装该软件包?没有gtk-sharp2-devel有gtk-sharp2,gtk-sharp2-examples,和gtp-sharp2-gapi如果我记得当我做gtk-sharp2时,我有错误,但我会再试一次,如果失败,将结果编辑到我的问题中SGTK-sharp2只是一个虚拟包。。。通过这样的回答,你把一条鱼给了一个饥饿的人,而不是教他钓鱼,就像我们看到这个问题的第二个答案时所做的那样:在这种情况下,我认为这个链接是不相关的。他试图用棒球棒钓鱼(德比安的yum),这让他的生活更加艰难。我不认为教他如何在棒球棒上加上绳子和诱饵是正确的选择。我只是告诉他要用一根真正的钓竿(以便钓到debian)。然后,他发现了一个不同的错误,他自己修复了它(对他来说太棒了!);此外,我认为他会继续使用apt-get-in-debian,直到他有必要(和/或意愿)学习如何用棒球棒钓鱼。我认为这是一个好结果。