⑴ Makefile 是如何工作的其中的宏定义分别是什么意思
你问的问题就好比一个国家是如何运作的。其中各个部委都是干什么的。因此有点难以回答。不过可以从以下几点进行简单解释:
makefile是一个文本文件,用于描述程序源代码之间以及程序可执行代码与源代码之间的依赖关系。
简单例子:最终编译生成的可执行文件ab.out是由a.c和b.c共同编译生成的,那么make文件就要写两行:
ab.out: a.c b.c
gcc a.c b.c -o ab.out
第一行描述了依赖关系,第二行描述了依赖关系是如何达成的。
更复杂的例子:最终编译生成的可执行文件ab.out是由a.c和b.obj功能编译生成的,而b.obj是由b1.c和b2.c编译而成,那么要写好多行:
ab.out: a.c b.obj
gcc a.c b.obj -o ab.out
b.obj: b1.c b2.c
gcc -c b1.c b2.c -o b.obj
这就是makefile的工作方法。
关于宏定义,简单点说就是文本替换。为了方便使用不同的编译器或者编译环境以及硬件环境,一些复杂的软件使用了大量的宏定义来代替诸如“gcc”这样的最基本的东西。不要太在意红定义,多看,从简单的看起,就会了。
⑵ arm嵌入式linux qt入门问题请教
1.qt-x11是支持x11库的qt,用于linuxPc运行环境。qt-embedded是用于嵌入式环境的qt库。
2.可以,只要选对了交叉编译器。
3.qmake是用来生产makefile的,make是通过makefile文件编译成可执行文件的。
4.他是嵌入式的qt库不仅能编译成arm平台的也可以编译成其它平台的,比如mips平台。
5.没有,要适应在真机上调试。
6.qt有个qtconf文件你可以通过修改该文件条件编译qt库,这样可减小qt库的体积,不过有些qt的方法会因为条件编译的qt库儿无法使用。
7.这个需要适配,有时要简单修改一下qt代码。
8.根据qt版本选择,qt的版本高就选择高版本的编译器。编译qt2一定要用2.95.3,qt4用3.4.1。
9.只要配上相应的qt库就可以运行,要运行qt4就需要你自行编译qt4的库。
⑶ makefile到底是干什么用的
一个工程(project)中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
Makefile 文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile 的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个(通常对于一个工程来说会是多个)正确的
Makefile。编译整个工程你所要做的唯一的一件事就是在shell 提示符下输入make命令。整个工程完全自动编译,极大提高了效率。
如果你使用的是带有图形用户界面的集成化开发环境如VisualStudio,一般用不着手动编写makefile文件,当你需要时,VS可以为你自动生成。
⑷ qt的qmake命令的使用方法
我来回答你的问题吧 首先make命令一般是linux上gcc默认使用的 而windows上编程一般使用visual c++的,它的编译器命令就不是make而是nmake。其次你使用qtCreator编译就可以,没必要使用命令行,因为命令行需要设置环境变量的。如果硬要使用命令行可以用qt工具栏里找一个qt command prompt,这里面用minw32-make可以编译,ming32是qtcreator使用的编译器。
改成#include <QtGui/QApplication>试试