5

QT Jambi を使用しようとしてきましたが、まだインストールできませんでした。まず第一に、これは私のシステムです:

Windows 7 ホーム プレミアム 64 ビット

Java 6 32 ビット (Java の 64 ビット バージョンと互換性のない JDownloader をよく使用します)

Code::Blocks に付属する MinGW C++ コンパイラ (セットアップ中に必要なすべての環境変数を設定します)

CygWin もインストールしていますが、表示されるエラー中になぜそれが言及されるのかわかりません...

私の最初のアイデアは、私は 32 ビット Java を持っているので、32 ビット バージョンを試すことでした。そのため、ライブラリを Eclipse にリンクし、チュートリアルにある古典的な初心者向けプログラムを試してみたところ、次のメッセージが表示されました。

java.lang.ExceptionInInitializerError
    at com.trolltech.qt.QtJambiObject.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: Loading library failed, progress so far:
Unpacking .jar file: 'qtjambi-win32-msvc2008-4.7.1.jar'
Checking Archive 'qtjambi-win32-msvc2008-4.7.1.jar'
 - skipping because of wrong system: trying to load: 'win32', expected: 'win64'
Loading library: 'QtCore4.dll'...
 - using 'java.library.path'

    at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(Unknown Source)
    at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(Unknown Source)
    at com.trolltech.qt.Utilities.loadQtLibrary(Unknown Source)
    at com.trolltech.qt.Utilities.loadQtLibrary(Unknown Source)
    at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(Unknown Source)
    ... 1 more
Caused by: java.lang.RuntimeException: Library 'QtCore4.dll' was not found in 'java.library.path'=C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:    \Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11\Driver;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\CodeBlocks\MinGW\bin\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\cygwin\bin;C:\Program Files\Microsoft Windows Performance Toolkit\;.
    at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary_helper(Unknown Source)
    ... 6 more
Exception in thread "main"

次に、64ビットシステムを想定していると表示されているため、インストールガイドに従って、次の手順を試しました。

1) ダウンロードした QTJambi ソースパッケージ

2) オリジナル QT ソースパッケージをダウンロード

3) 環境PATH変数に「C:\QTJambi\QT\qt-qt\bin」(QTソースパッケージフォルダ)を追加

4) Visual Studio 2005 コマンド プロンプトを開く

5) cd C:\QTJambi\QT\qt-qt

6) 試した: configure -platform win64 -g++ -D QT_JAMBI_BUILD -no-qt3support -plugin-manifests

しかし、それは機能しませんでした、エラー:無効なオプション win64-g++ for -platform

7) configure -platform win32 -g++ -D QT_JAMBI_BUILD -no-qt3support -plugin-manifests を試しました

8) オープンソースの数字 o

9) ライセンスを受け入れる数字 y

しかし、次のエラーが発生して、どちらも機能しません。

 Running syncqt...
 perl: warning: Setting locale failed.
 perl: warning: Please check that your locale settings:
        LC_ALL = (unset) 
        LANG = "IT"
        are supported and installed on your system.
 perl: warning: Falling back to the standard locale ("C").
 Can't execute /cygdrive/c/QTJambi/QT/qt-qt/bin//syncqt
 syncqt failed, return code 2

誰でも助けることができますか?誰にでも事前に感謝します!

4

2 に答える 2

4

この回答は、元の問題 (つまり、64 ビット Windows システムで 32 ビット QtJambi バイナリ ディストリビューションを使用する方法) を説明し、対処しようとしています。

システムが間違っているためスキップしています: ロードしようとしています: 'win32', 予想: 'win64'

これは、実行時に JVM インスタンスにロードしようとしている JVM の 32/64 ビット性と QtJambi 実装の 32/64 ビット性との間の不一致を検出する QtJambi 初期化コードからのメッセージです。

あなたの場合、これは QtJambi の 32 ビット バージョンで 64 ビット JVM を使用しようとしたことが原因です。これは可能な偉業ではありません。この問題を解決するには、Windows 32 ビット JVM を見つけてシステムに直接インストールし、ファイル「C:\Program Files (x86)\Java\jre6\bin\java.exe」を作成します (既にインストールされている場合があります。小切手)

両方が 64 ビット システムにインストールされている場合は、次の違いを確認してください。

C:\>"C:\Program Files (x86)\Java\jre6\bin\java.exe" -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

C:\>"C:\Program Files\Java\jre6\bin\java.exe" -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

一番上のものは 32 ビット JVM です。一番下は 64 ビット JVM です。

ここで、32 ビット JVM 経由で QtJambi バイナリ バージョンをロードしてみてください。Windows 64 ビット プラットフォームではデフォルトの「java.exe」が 64 ビットである必要があるため、これを明示的に行う必要があります。

"C:\Program Files (x86)\Java\jre6\bin\java.exe" -cp qtjambi-X.Y.Z.jar;qtjambi-win32-msvc2008-X.Y.Z.jar;myjar.jar  mypackage.MyMain

クラスパス (-cp) の上のコマンド ラインを、実行しようとしている JAR の場所と main() に修正する必要があります。

UnsatisfiedLinkError が原因でアプリケーションの起動に問題があり、msvc2008 ビルドを使用している場合は、"Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)" http://www.microsoft.com/download/en/detailsをインストールしてみてください。 .aspx?id=5582 (注: これには 64 ビット バージョンもあります。このリンクは、32 ビット JVM で 32 ビット QtJambi を使用することに関連する 32 ビット バージョン用です。64 ビット バージョンでも同じものを検索したい場合は、 Microsoft の Web サイトでは、タイトルに「(x86)」ではなく「(x64)」が含まれるページ)。

次に、テストを再試行します。

于 2011-09-25T14:50:39.523 に答える
2

現在、Qt Jambi は 64 ビットのコンパイルもサポートしていますが、適切な Qt を取得するのはかなり困難です。

MinGW については、インターネットで利用できるリソースがいくつかあります。多分彼らはあなたを助けることができます。MinGW-w64 を使用して 64 ビット Qt 4.7 をビルドする

現時点でサポートされている (Nokia による) ソリューションは 64 ビット MSVC コンパイルのみですが、ランタイムを自由に配布することは許可されていないため、Nokia から配布されているそのようなバイナリはありません。MSVC でコンパイルする場合、MSVC 2010 の正しいプロファイルは win32-msvc2010 になります。それらのリストは mkspecs ディレクトリにあります。

通常、最初にプロファイルを指定する必要はないことに注意してください。使用できるプロファイルが多数あり、特定のプロファイル (MinGW や MSVC など) を使用したい場合のみ)。

このページによると、MSVC を使用した 64 ビット コンパイルは 64 ビット環境を使用して動作します。

Qt または Qt Jambi で Cygwin を使用することは実際には推奨されていません。Unix ライクな環境が必要な場合は、MSYS を使用してください。

于 2011-09-25T12:33:13.023 に答える