一、准备工作
1)卸载ubuntu自带的network-manager(sudo apt-get remove network-manager)
2)配置虚拟机可上网:先改成桥接
3)安装g++
Sudo apt-get install g++
4)把ubuntu的桌面环境换成gnome,并以gnome桌面登录
sudo apt-get install gnome-shell
备注:注意看提示是否成功,有时需sudo apt-get update,
然后sudo apt-get install gnome-shell -fix-mising
二、安装Qtcreator工具软件
拷贝该光盘下:\移植相关qt相关\相关\文件夹下qt-sdk-linux-x86-opensource-2010.05.bin到linux环境。
1)直接运行文件
$ ./qt-sdk-linux-x86-opensource-2010.05.bin
接下来是图形编译。(建议安装在家目录)
2)在/etc/bash.bashrc中添加环境变量
export QTDIR=/home/linux/qtsdk-2010.05/qt
export PATH=/home/linux/qtsdk-2010.05/bin:$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
然后 $source /etc/bash.bashrc一下
备注:$PATH写到最后面,因为如果你把$QTDIR/bin放在后面的话,那它调用的qmake实际上是系统原有的Qt 3.x里的
三、运行Qt creator软件,测试
第一:通过图形界面,创建一个工程,运行。
第二:写一个hello.cpp,在命令行上测试,
[root@localhost root]# vi helloworld.cpp
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel hello("Hello world!");
hello.show();
return app.exec();
}
[root@localhost root]# qmake -project
可以看到qmake工具为我们自动生成了helloworld.pro文件。
[root@localhost root]# qmake
可以看到在当前目录生成了Makefile。
[root@localhost root]# make
就可以生成可执行的程序helloworld了。
[root@localhost root]# ./helloworld
四、配置arm版的Qt createor软件
1.打开qt creator软件
2.配置Qt creator软件编译环境。
在Qt creator菜单栏Tools -> Options…打开Options窗口。
在Options界面左侧,点击Qt4—〉Qt Versions右侧显示Qt Versions设置界面。
在Qt Versions界面中点击那个蓝色的大“╋”号图标。
在下方Version Name:文本框内输入Qt的版本名,可以随便填,能区分各个版本即可,如X11版取名为qt-x11、embedded版本取名qt-embedded、arm版本取名为qt-arm。
单击Qmake Location:右侧Browse…按钮,在弹出的“Select QMake Executable”窗口中找到对应版本的qmake程序(路径:是安装后指定的路径。即安装lib库指定如: ../qt-everywhere-source/configure -prefix /qt-everywhere)。
回到Qt Versions界面,单击Debugging Helper:右侧Rebuild按钮,等待片刻,看到Debugging Helper:后出现一个绿色的“√”即可。
3.创建一个Qt 工程
运行Qtcreator,单击菜单栏file->New File or Priject...。
弹出New 对话框。选着红色小方框的选项。然后,单击Choose.....。
创建工程名字和工程的位置。执行Next。
选择Qt Versions 的编译工具版本(pc或arm)。执行Next。
以后都单击Next,最后单击Finish。则创建工程完毕。
4.配置Projects的环境
一定要注意下图红色方框部分。选择正确的选项。如我这张图所选的是arm的编译工具。如要选择pc版的Qt version。则选择Qt 4.7.0 OpenSource。
注意:下图三个红色方框一定要选和自己要编译的相一致。
接下来就可以写自己的程序代码了。
如有不明白的和不太了解的地方,请查阅官方安装方法:
http://www.developer.nokia.com/Community/Wiki/Qt_SDK%E5%BC%80%E5%8F%91%E5%85%A5%E9%97%A8
官方最新下载地址:
http://www.developer.nokia.com/info/sw.nokia.com/id/da8df288-e615-443d-be5c-00c8a72435f8/Qt_SDK.html
5.测试
把生成的执行文件拷贝到/source/rootfs下面,假如程序名是qt_test.,采用下面步骤运行。
1)先在开发板上运行/tslib/bin下的屏幕校准程序
# /tslib/bin/ts_calibrate
2)在板子上运行自己编好的QT程序
#./qt_test -qws
分类: LINUX
QTranslator translator(0);
首先,有一点要明白:从source到dest的过程中,IP datagram中的source IP和dest IP保持不变(只有一个例外情况)。
但是,我们知道,在IP转发时,如果dest host不在直接连接的网络上,会把datagram发到next-hop,那么next-hop的地址存在哪?我们来看看IPv4的数据格式:
显然,数据格式中没有为next-hop地址预留位置。实际上,IP也确实没有存储这个next-hop地址。
那么,IP是如何把这个包准确地送到net-hop的呢?做法是IP层把net-hop地址以及IP datagram一起丢给network interface software(我的理解就是物理层的模块),在那里会把net-hop地址“转换”成对应的物理地址,然后用这个物理地址封装一个frame,frame的数据段即是这个IP datagram。然后发送之。
那么,routing table里面为什么不直接存储next-hop对应的物理地址呢?这样就避免了每次要把IP地址“转换”成物理地址,效率不是更高了吗?这个问题的答案,多半是TCP/IP的封层架构,主要是不想破坏这种软件工程思想,各层各司其职,低耦合。
在更新完Android的SDK后,在Eclipse中部署APK时,出现如下的错误提示:
[2013-11-03 22:17:40 - Emulator] PANIC: Missing arch-specific emulator program: C:\Documents and Settings\administrator\Local Settings\Application Data\Android\android-sdk\tools/emulator-arm.exe这表示找不到emulator-arm.exe这个模拟器,打开错误提示的路径,在该路径下的确不存在该文件。
解决的方法是打开“SDK Manager”,删除掉“Tools”下的“Android SDK Tools”,然后在重新安装即可。
在网上有的人给出的解决方法是直接从完整的TOOLS目录下拷贝模拟器,我没有试这种解决方法,不知道是否可行。
在网上有的人说出现丢失模拟器的原因是杀毒软件的原因,这个我没有进行证实。