【问题标题】:On Debian, running mono- error CS8027: Error running pkg-config在 Debian 上,运行单声道错误 CS8027: Error running pkg-config
【发布时间】:2014-07-19 19:06:48
【问题描述】:

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

        }
}

然后当我尝试编译它时,我得到了这个错误

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:~$ 

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

但是 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:~$ 

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

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

user@debian:/usr$ echo $PKG_CONFIG_PATH

user@debian:/usr$

【问题讨论】:

  • 在 debian 中百胜?不,我认为您想使用 apt-get;无论如何,我将此问题标记为重复
  • @knocte 你链接到的问题有关于百胜的答案。 Yum 的尝试(我知道不应该在 debian 中)运行 Yum 只是一个错误,幸运的是它没有做任何事情。我在您的“重复”链接上没有看到任何可以解决我的问题的答案
  • 链接的问题有2个答案,一个是关于yum,另一个是关于apt-get

标签: c# linux mono debian pkg-config


【解决方案1】:

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

尝试运行:

sudo apt-get update
sudo apt-get install gtk-sharp2

那么,别忘了做:

make clean

并从头开始编译过程。

由 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

【讨论】:

  • 我没有编译它我只是做了一个 apt-get 而不是编译。我唯一一次尝试 yum(我现在明白在 debian 中尝试 yum 是错误的)但是我唯一一次尝试 yum 是如上所述,幸运的是它没有做任何事情。所以这并不能解决问题。不过,我现在正在运行 apt-get update 和 make clean
  • 那么,sudo apt-get gtk-sharp2-devel 没有安装包?
  • 没有 gtk-sharp2-devel 有 gtk-sharp2、gtk-sharp2-examples 和 gtp-sharp2-gapi 如果我记得我做 gtk-sharp2 的时候有错误,但我会再试一次,如果失败,将结果编辑到我的问题中
  • gtk-sharp2 只是一个虚拟包......通过这样的回应,你是在给饥饿的人一条鱼,而不是教他钓鱼,就像他阅读第二个答案时我们会做的那样这个问题:stackoverflow.com/questions/18475961/…
  • 在这种情况下,我认为该链接不会是相关的。他试图用棒球棒钓鱼(在 debian 中是 yum),这让他的生活变得更加艰难。我不认为教他如何在棒球棒上添加绳子和诱饵是正确的选择。我只是告诉他使用真正的钓鱼竿(在 debian 中是 apt-get)。然后,他被卡住了,发现了一个不同的错误,他自己修复了它(对他来说太棒了!);另外,我认为他会继续在 debian 中使用 apt-get,直到他需要(和/或愿意)学习如何用棒球棒钓鱼。我认为这是一个很好的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 2014-06-05
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多