如您所知,下载QT的主要来源是 http://qt-project.org/downloads
在Qt 5.0之前,有一个Qt for Embedded Linux的链接,例如: QT-无处不开源-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,我有以下输出:
#file 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
答案 0 :(得分:1)
你似乎在混合两种根本不同的东西:
非常古老的Qtopia
旧4.8.5
根据建议in your other thread,使用5.2.0对此更为适合。话虽如此,让我回答你的问题:
如果我的假设是正确的,可以使用上面的版本而不是旧的Qtopia吗?
是的,这是对的。
问:为什么/ bin目录中没有设计器程序。
我认为您必须与Qt库分开安装,就像QtCreator一样。
加载共享库时出现./ qt_hello错误:libQtGui.so.4:无法打开共享对象文件:没有这样的文件或目录。
这意味着您的嵌入式主板上的嵌入式主板上没有qt gui动态库,默认情况下系统范围内通常安装了Qt。
几个小时之后,软件配置,构建和安装成功,在qmaking我的hello程序后,不幸的是它链接共享,我在ARM嵌入式设备上有上述错误?我想念一下吗?请详细说明。
我认为您忘记静态链接Qt库。例如,尝试在项目的qmake项目文件中显式指定静态库,如下所示:
LIBS += libQtGui.a # cannot recall the name correctly, but it is easy to check