2012-10-11 3 views
0

Я хочу иметь возможность использовать QT Creator на своем полноразмерном рабочем столе, чтобы иметь возможность разрабатывать и компилировать приложения qt и разворачивать их на pi.Кросс-компиляция приложений QT для малины pi - Не удается открыть файл общих объектов

Я после этого руководства: http://qt-project.org/wiki/Create#QtonPi_App_SDK

Я пытаюсь получить привет-qtonpi проект для компиляции. Используя компилятор и набор инструментов для пи, я получаю две ошибки во время компиляции:

/opt/qtonpi/lib/gcc/armv5tel-qtonpi-linux-gnueabi/4.5.4/../../../../armv5tel-qtonpi-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory 
/opt/qtonpi/libexec/gcc/armv5tel-qtonpi-linux-gnueabi/4.5.4/cc1plus: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory 

Я проверил, что эти две библиотеки были установлены на моем пи, и rsynced/Lib и/USR/Lib от пи моя sys-корневая папка.

Я попытался использовать создателей QT Add Library -> System Library и выбран, например. libz.so, так как это не показало 1. Он добавил следующую строку в файл .pro:

unix:!macx:!symbian: LIBS += -lz 

Однако он по-прежнему не избавился от этой ошибки.

Как включить эти библиотеки или сообщить компилятору, с чего искать?

ответ

1

Оба сообщения об ошибках о libz и libmpc не связаны с отсутствующими библиотеками целевых объектов, но с главной частью .

Цепь кросс-компиляции построена как динамическая, поэтому вам нужно иметь на своем хосте все библиотеки, разрешающие зависимости.

Поскольку libz.so.1 довольно распространен, возможно, вы используете 64-битный хост, но ваша инструментальная цепочка была построена для 32 бит. В этом случае вам нужно найти пакет, содержащий 32-битную версию libz.so.1 и libmpc.so.2.

+0

Я установил 32-разрядные версии обеих библиотек на хост + другой. Теперь он жалуется на отсутствие информации о версии для libz.so.1. На консоли говорится, что «не удалось найти абсолютное местоположение файла /lib/libz.so.1». Есть идеи? – varesa

+0

Хорошо, какова бы ни была причина, это было исправлено путем удаления и воссоздания символической формы .so.1 до .so.1.2.3 – varesa