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.dylib
和 libqtjambi.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的主要内容,如果未能解决你的问题,请参考以下文章