2014-01-05 3 views
2

Как известно, основным источником для загрузки QT является http://qt-project.org/downloads.Портирование и запуск простой программы Qt для встроенных устройств FriendlyARM

До Qt 5.0, была ссылка на Qt для встраиваемых Linux-систем, например: кварты-всюду с открытым исходным кодом-Src-4.8.5.tar.gz

Я предположил, что это как-то замена для Qtopia. Кроме того, я предполагал, что «везде» означает «встроенный». Правильно ли мои предположения?

Если мои предположения верны, можно ли использовать приведенную выше всюду версию вместо старой Qtopia?

Другая проблема: я сконфигурировал Qtopia для создания библиотек статически (используя по умолчанию -shared), затем я построил его и успешно установил.

Теперь я на главном компьютере у меня есть Qtopia 4.3.5 встроенный ARM программного обеспечения по следующему пути по умолчанию: /usr/local/Trolltech/QtopiaCore4.3.5embedded-arm

Q: Почему нет ни одного дизайнера программы в каталоге/bin.

Я просто следующие двоичные файлы: MOC, QMAKE, РКЦ, МСЖД тогда я написал типичный привет мир Qt с QApplication и QLabel классов:

#include <QApplication> 
    #include <QLabel> 

    int main(argc, char* argv[]) 
    { 
     QApplication app(argc, argv); 
     QLabel Hello("Hello"); 
     Hello.show(); 
     return app.exec(); 
    } 

Я составил этот код с вновь установленным QMAKE и все в порядке. Если имя двоичного файла является qt_hello, у меня есть следующий вывод:

# файл qt_hello

ELF 32-бит LSB исполняемым, ARM, версия 1 (SYSV), динамически связанный (использование общих LIBS), для GNU/Linux 2.6.32, не раздели

Теперь, когда я порт двоичная для ARM для встраиваемых устройств (с помощью флэш-диска USB), и запустить его, у меня есть следующий вывод:

#./qt_hello ошибка при загрузке разделяемых библиотек: libQtGui. so.4: невозможно открыть файл общих объектов: нет такого файла или каталога.

на основе сообщения об ошибке, я думаю, я должен настроить, чтобы снова настроить Qtopia с помощью опции -статической. Я использовал следующую команду: ./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 16,3 -nomake examples
-nomake tests -static
через пару часов, программное обеспечение было настроено, построено и успешно установлено, после qmaking моей программы привета, к сожалению, это связанно общее, и я был выше ошибок на ARM встроенного устройства?

Мне что-то не хватает? Прошу пролить свет.

FYI, Qtopia4.6.3 установлен на ARM Embedded устройства

- Саида Amrollahi Boyouki

+0

Да, конечно. –

ответ

1

Вы, кажется, смешивая две совершенно разные вещи здесь:

  • Очень старый видеосистеме

  • Старый 4,8 .5

Как предложено in your other thread, используя 5.2.0, было бы более подходящей задачей для этого. С учетом сказанного позвольте мне ответить на ваши вопросы:

If my assumptions are right, is it OK to use the above everywhere version instead of old Qtopia?

Да, это правильно.

Q: Why there are no designer program at /bin directory.

Я думаю, вы должны установить это отдельно от библиотек Qt, как и QtCreator.

./qt_hello error while loading shared libraries: libQtGui.so.4: cannot open shared object file: no such file or directory.

Это означает, что вы не имеете Qt GUI динамическую библиотеку на вашей встроенной плате в путь к библиотеке, которая общесистемного по умолчанию, где обычно устанавливается Qt.

after a couple of hours, the software was configured, built and installed successfully, after qmaking my hello program, unfortunately it's linked shared and I had above errors on ARM embedded device? Am I miss something? Please shed some light.

Я думаю, что вы забыли связать с библиотекой Qt статически. Например, попробуйте явно указать статическую библиотеку в файле проекта проекта qmake следующим образом:

LIBS += libQtGui.a # cannot recall the name correctly, but it is easy to check 
+0

Laszlo Я добавил вышеприведенную строку, но во время создания проекта ошибка компилятора: arm-none-linux-gnueabi-g ++: libQtGui.a: нет такого файла или каталога. –

+0

@SaeedAmrollahiBoyouki: вы проверили, есть ли у вас такой файл в вашем пути к библиотеке и/или в текущий рабочий каталог, где происходит связь? – lpapp

+0

Laszlo Papp: Да У меня есть несколько таких файлов: libQtGui. {A | .la | .prl | .so | .so.4 | .so.4.3 | .so.4.3.5 |} .so, .so.4, .so.4.3 символически связаны с последним. Они находятся в каталоге /lib. BTW, если я запустил ldconfig -p, для этих файлов нет записи, но у меня есть только одна запись: libQtGui.so.4 (libc6) => /usr/lib/i365-linux-gnu/libQtGui.so.4 , В. Как добавить /lib в путь библиотеки? –

Смежные вопросы