【发布时间】:2014-01-22 18:49:07
【问题描述】:
如您所知,下载 QT 的主要来源是 http://qt-project.org/downloads.
在 Qt 5.0 之前,有一个 Qt for Embedded Linux 的链接,例如: qt-everywhere-opensource-src-4.8.5.tar.gz
我认为它在某种程度上是 Qtopia 的替代品。另外,我认为“无处不在”的意思是“嵌入式”。 我的假设是否正确?
如果我的假设是正确的,是否可以使用上述无处不在的版本而不是旧的 Qtopia?
另一个问题是:我将 Qtopia 配置为静态构建库(使用默认 -shared)然后我构建它并成功安装它。
现在我在主机上安装了 Qtopia 4.3.5 嵌入式 ARM 软件,默认路径如下: /usr/local/Trolltech/QtopiaCore4.3.5embedded-arm
问:为什么/bin目录下没有设计器程序。
我只有以下二进制文件: moc、qmake、rcc、uic 然后我用 QApplication 和 QLabel 类编写了一个典型的 hello world Qt:
#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),动态链接(使用共享库), 对于 GNU/Linux 2.6.32,未剥离
现在,当我将二进制文件移植到 ARM 嵌入式设备板(使用闪存盘 USB)时, 并运行它,我有以下输出:
# ./qt_hello 加载共享库时出错:libQtGui.so.4:无法打开共享对象文件:没有这样的文件或目录。
根据错误消息,我想,我应该配置尝试使用 -static 选项再次配置 Qtopia。我使用了以下
命令:
./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 16,3 -nomake examples
几个小时后,软件配置、构建和安装成功,
在 qmaking 我的 hello 程序之后,不幸的是它是链接共享的,我有上述错误
在 ARM 嵌入式设备上?
-nomake tests -static
我错过了什么吗?请提供一些启示。
仅供参考,Qtopia4.6.3 安装在 ARM 嵌入式设备上
-- Saeed Amrollahi Boyouki
【问题讨论】: