【问题标题】:Mono Pkg-Config.exe Keeps Crashing?Mono Pkg-Config.exe 不断崩溃?
【发布时间】:2016-12-18 06:47:55
【问题描述】:

我是 Mono 的新手 - 我想尝试一下跨平台 - 我的主要 IDE 是 Visual Studio,因此通过命令提示符构建应用程序的过程对我来说有点陌生。

我正在关注Mono Basics 教程,并且已经到了它说Winforms Hello World的地步。我复制了提供的代码并将其保存到 .cs 文件(在桌面上)。

然后我打开一个命令提示符并将其指向桌面目录。我运行了命令:

mcs hello.cs -pkg:dotnet

结果是:

控制台告诉我这是一个 CS8027 错误,但没有别的。

我添加了 3 个环境变量,但没有修复:

  • PATH -> 单声道\bin 路径
  • PATH -> mono\lib\pkgconfig 的路径
  • PKG_CONFIG_PATH -> 指向 mono\lib\pkgconfig 的路径

每当我尝试使用 pkg-config.exe 时都会发生这种情况(尝试使用 pkg-config.exe --list-all 但出现了同样的问题)。

我检查了有关 CS8027 错误的其他答案/问题,但解决方案没有帮助 - 它仍然每次都崩溃!

【问题讨论】:

  • 你解决了这个问题?我现在也有同样的问题。首先是 GTK# 的问题和 PATH dll 的混乱(完全是地狱),现在这个问题已经解决了我的 pkg-config 崩溃了...... :(

标签: c# .net mono pkg-config


【解决方案1】:

遇到了同样的问题。我安装了所有正确的 VC++ 运行时,但仍然崩溃。

pkg-config.exe 引用在不同版本的 .Net 中编译的库 (.dll)。您的 PATH(或 pkg-config 本身)可能引用的版本与 .dll 使用的版本不同,或者根本没有。

pkg-config 无论如何都是简写。我通过为我使用正确版本的 .Net 显式包含我引用的 .dll 来修复它:

mcs hello.cs -r:"C:\Program Files\Mono\lib\mono\4.5-api\System.Windows.Forms.dll"

【讨论】:

    【解决方案2】:

    pkg-config 是使用与 Mono 本身不同的 MSVC 版本构建的。您需要安装 32 位 VC++12 运行时才能使其工作。 应该包含在 mono.msi 中,根据https://github.com/mono/release/commit/8394dcc254510977c3e654abf916a48c6c6894fb

    如果您查看 Windows 事件日志,在“应用程序”下,您可能会获得更多关于哪些问题不起作用的信息。

    【讨论】:

      【解决方案3】:

      我有这个问题,可以帮助一些人。

      D:\Code\Mono>mcs hello.cs -pkg:dotnet
      error CS8027: Error running pkg-config. Check the above output.
      

      我需要从https://www.dll-files.com/下载以下DLL:s

      • libiconv-2.dll
      • libgcc_s_sjlj-1.dll
      • libintl-8.dll
      • libglib-2.0-0.dll

      把它们放在 C:\Program Files\Mono\bin

      即使 Mono 是 64 位,所有 DLL 也应该是 32 位。

      【讨论】:

      • 谢谢!我下载了 DLL,但没有意识到它们需要是 32 位的,这对我有用:)
      【解决方案4】:

      在我的系统中,问题是安装路径中的空白空间以及如何在 pc 文件中进行管理。

      一种解决方法是编辑 pc 文件以将前缀条目更改为短路径。在我的系统中:

      prefix=C:/PROGRA~1/Mono
      

      而不是

      prefix=${pcfiledir}/../..
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-10
        • 2012-09-03
        • 2015-08-08
        • 2018-05-24
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多