【问题标题】:Qt4Dotnet on Mac OS XMac OS X 上的 Qt4Dotnet
【发布时间】:2009-08-26 15:32:27
【问题描述】:

我使用Qt4Dotnet project 来移植最初用C# 在Linux 和Mac 上编写的应用程序。移植到 Linux 并没有花费太多精力并且工作正常。但是 Mac (10.4 Tiger) 有点固执。

问题是:当我尝试启动我的应用程序时,它会引发异常。异常指出com.trolltech.qt.QtJambi_LibraryInitializer 无法找到所有必要的库。 QtJambi 库初始化程序使用java.library.path VM 环境变量。此变量包括当前工作目录。我将所有必要的库放在一个工作目录中。当我尝试从 MonoDevelop IDE 运行应用程序时,初始化程序能够加载一个库,但其他库“丢失”:

An exception was thrown by the type initializer for com.trolltech.qt.QtJambi_LibraryInitializer ---> java.lang.RuntimeException: Loading library failed, progress so far: No 'qtjambi-deployment.xml' found in classpath, loading libraries via 'java.library.path' Loading library: 'libQtCore.4.dylib'... - using 'java.library.path' - ok, path was: /Users/chin/test/bin/Debug/libQtCore.4.dylib Loading library: 'libqtjambi.jnilib'... - using 'java.library.path'

libQtCore.4.dyliblibqtjambi.jnilib 都在同一个目录中。当我尝试从命令提示符运行它时,初始化程序甚至无法加载 libQtCore.4.dylib

我正在使用 Qt4Dotnet v4.5.0(目前是最新的)和 QtJambi v4.5.2 库。这可能是问题的根源,但我既无法自己编译 Qt4Dotnet v4.5.2,也无法找到 QtJambi v4.5.0 库。 Project 的页面指出,为了与 Mono 框架兼容,应该对 QtJambi 的源代码应用某种补丁,但是这个补丁还没有发布。如果没有这个补丁,应用程序会以一种奇怪的方式崩溃(库查找错误除外)。

我必须注意,原始 QtJambi 完美地加载了所有必需的库,因此可能是用于将 QtJambi 转换为 .Net 库的 IKVM 编译器的问题。

有什么建议可以解决这个问题吗?

【问题讨论】:

    标签: qt macos qt4 qt4dotnet


    【解决方案1】:

    我想我今天早些时候遇到了同样的问题。一旦我将 libikvm-native.dylib 从当前的 Mono 复制到项目的 exe 目录,它就可以工作了。弗兰克提醒我这样做on the list here

    【讨论】:

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