在Linux下使用QT编程,先来写一个简单的例子:
1、新建文件夹:mkdir hello,在文件夹下创建文件: vi hello.cpp
2、在hello.cpp中输入代码:
- #include <QApplication>
- #include <QLabel>
- int main(int argc,char *argv[])
- {
- QApplication app(argc,argv);
- QLabel *label=new QLabel("Hello QT!");
- label->show();
- return app.exec();
- }
3、在终端下输入命令:qmake -project ,生成工程文件。此时在hello文件夹下生成hello.pro文件。
4、在终端下输入命令:qmake hello.pro,生成Makefile
5、在终端下输入命令:make ,进行编译。生成hello可执行文件。
6、在终端下输入命令:./hello ,运行程序。
可却不能运行,出现了错误:bash: ./hello:cannot execute binary file
输入的命令以及操作顺序都没有出错,原因在哪呢?
此时我们从上面的操作流程图中看到了:
当执行make命令后:显示“-I/usr/local/Trolltech/QtEmbedded-4.6.2-arm/mkspecs/qws/linux-arm-g++”。
-I<文件> :表示指定使用的配置文件。
明白了原来是编译器的原因,刚刚我们用的是arm-linux-gcc交叉编译器,这样生成的hello是用于在ARM板子上运行的。其实我们从刚刚生成的makefile文件中也能发现这个问题,下面是makefile文件:
为了解决问题,只需设置下PATH环境变量:
#export PATH=/usr/local/Trolltech/Qt-4.6.2/bin:$PATH
然后,我们重新执行下:
此时则能正确执行。我们看到上面的make信息已改变了,再看下Makefile文件,也变了:
至些完成!