Проблемы с установкой QT Jambi в 64-битной системе Windows - PullRequest
5 голосов
/ 25 сентября 2011

Я пытался использовать QT Jambi, но пока не смог его установить.Прежде всего, это моя система:

64-битная Windows 7 Home Premium

32-битная Java 6 (я часто использую JDownloader, который не совместим с 64-битной версией Java)

MinGW C ++ компилятор, который поставляется с Code :: Blocks (который устанавливает все необходимые переменные окружения во время установки)

У меня также установлен CygWin, но я не понимаю, почему он упоминается во время ошибки, котораяЯ получаю ...

Моей первой идеей было попробовать 32-битную версию, так как у меня 32-битная Java, поэтому я связал библиотеки в 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) Добавлен "C: \ QTJambi \ QT \ qt-qt \ bin" (папка исходного пакета QT) в переменную PATH среды

4) Открыт Визуальный СтадКомандная строка io 2005

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

6) Попытка: настроить -platform win64 -g ++ -D QT_JAMBI_BUILD -no-qt3support -plugin-manifest

Но это не сработало, ошибка: неверный параметр win64-g ++ для -platform

7) Пробовалconfigure -platform win32 -g ++ -D QT_JAMBI_BUILD -no-qt3support -plugin-manifest

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

Кто-нибудь может помочь?Заранее спасибо всем!

Ответы [ 2 ]

4 голосов
/ 25 сентября 2011

В этом ответе делается попытка объяснить и решить исходную проблему (т. Е. Как использовать 32-битный двоичный дистрибутив QtJambi в 64-битной системе Windows).

пропуск из-за неправильной системы: попытка загрузки: 'win32', ожидаемый: 'win64'

Это сообщение из кода инициализации QtJambi, которое обнаруживает несоответствие между 32/64 разрядностью JVM и 32/64 разрядностью.Необходимость реализации QtJambi при попытке загрузки в экземпляр JVM во время выполнения.

В вашем случае это связано с попыткой использовать 64-битную JVM с 32-битной версией QtJambi.Это не возможный подвиг.Чтобы устранить проблему, найдите и установите непосредственно 32-битную JVM Windows в своей системе, чтобы у вас был файл «C: \ Program Files (x86) \ Java \ jre6 \ bin \ java.exe» (возможно, он уже установлен, пожалуйста,check)

Когда они оба установлены в 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.

Теперь попробуйте загрузить бинарную версию QtJambi, которую вы используете, через 32-битную JVM, вы должны сделать это явно, так как по умолчанию «java.exe» должен быть 64-битным на 64-битной Windows.платформа:

"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

Вам нужно привязать командную строку над ClassPath (-cp) к местоположениям ваших JAR-файлов, которые вы пытаетесь запустить, и main ().

Если вывозникают проблемы с запуском приложения из-за UnsatisfiedLinkError, и вы используете сборку msvc2008, а затем попробуйте установить «Распространяемый пакет Microsoft Visual C ++ 2008 SP1 (x86)» http://www.microsoft.com/download/en/details.aspx?id=5582 (ПРИМЕЧАНИЕ. Существует также 64-битная версия этогоКроме того, эта ссылка предназначена для 32-битной версии, которая имеет отношение к использованию 32-битного QtJambi на 32-битной JVM, если вы также хотите, чтобы 64-битная версия искала ту же страницу с "(x64)" в заголовке вместо "(x86)"на веб-сайте Microsoft).

Затем повторите попытку.

2 голосов
/ 25 сентября 2011

Qt Jambi в настоящее время также поддерживает 64-битные компиляции, но получить правильный Qt немного сложнее.

Для MinGW есть некоторые ресурсы, доступные в Интернете.Может быть, они могут помочь вам. Сборка 64-битного Qt 4.7 с использованием MinGW-w64

На данный момент единственное поддерживаемое (от Nokia) решение - это 64-битные компиляции MSVC, но AFAIK нет таких двоичных файлов, распространяемых от Nokia, потому что время выполненияне могут быть свободно распространены.При компиляции с MSVC правильный профиль для MSVC 2010 будет win32-msvc2010.Список их можно найти в каталоге mkspecs.

Обратите внимание, что обычно вам не нужно указывать профиль в первую очередь;только если есть много доступных профилей, которые вы можете использовать, и вы хотите использовать определенный (например, MinGW или MSVC).

64-битная компиляция с MSVC работает с использованием 64-битной среды, согласно на этой странице .

Использование Cygwin с Qt или Qt Jambi не рекомендуется;используйте MSYS, если вы хотите Unix-подобную среду.

...