Mac OS X 上的 Qt4Dotnet

Posted

技术标签:

【中文标题】Mac OS X 上的 Qt4Dotnet【英文标题】:Qt4Dotnet on Mac OS X 【发布时间】: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 编译器的问题。

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Mac OS X 上的 Qt4Dotnet的主要内容,如果未能解决你的问题,请参考以下文章

text Mac OS X上的Git和凭据

markdown Mac OS X上的Docker Machine

PHP Mac OS X上的PHP系统加载

sh 如何杀死mac os x终端上的端口

sh 如何杀死mac os x终端上的端口

Mac OS X 上的Apache配置