qt在linux上和移植时用的到底是哪个qmake

qt在linux上和移植时用的到底是哪个qmake,第1张

第一步,linux下编译安装qt

仍然是用的ok6410提供的qt-everywhere-opensource-src-4.7.1.tar.gz

1、首先在我自己的目录/z 下新建个qt-x11,将文件拷贝解压

sudo su (取得root权限)

mkdir /z/qt-x11

cp qt-everywhere-opensource-src-4.7.1.tar.gz /z/qt-x11 (拷贝到新建的目录)

tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz

解压后查看得到:(其中qte4.7.1Makelog为后来生成的,一开始解压后没有,我是安装完成后截的图= =)

此处的build-all是飞凌公司写好的脚本,是用于编译开发板上的嵌入式的qt的,而此处要编译linux的qt,因此对其进行修改,

gedit build-all

修改结果如下:主要是去掉环境变量的配置和qt的配置

注意此处将qt安装在了新建文件夹/opt/qt-x11-4.7.1中,这个目录要记住,因为后面配置qtcreator的时候要到这里找qmake

然后保存关闭,执行 ./build-all

等待。。。我感觉我等了一个下午,幸亏没有提醒出错,要不然我就哭了,编译成功

第二步:安装配置qtcreator

下载链接:http://download.qt-project.org/ 我都被自己的贴心感动得哭了T T

这里根据系统版本神马的,我就参考了别人的文章下载了一个版本,姐实在被这些版本弄的想哭了,参考链接 http://duxiaolong5750.blog.163.com/blog/static/44856246201421405034948/

版本是qt-creator-linux-x86-opensource-2.6.1.bin

1、将下载文件拷贝到/z 目录下,在终端下,输入命令

sudo ./qt-creator-linux-x86-opensource-2.6.1.bin

就会出现一个桌面安装窗口,跟windows一样安装就很简单了

对了,有个插曲,我在安装过程中终端跳出了一个warning:designer:attempt to add child to。。。我网上搜了下竟然没搜到这个问题,就直接忽略掉了。。不知道以后会不会有影响。。。

2、接着配置

在主界面中从菜单栏点击"工具"->"选项"->在左侧点击“构建和运行”界面如下图所示。

点击qt版本,有些没有自动检测到qmake路径,这是因为没设置环境变量,手动添加,将刚安装的qmake加入:

接着点击编译器:已自动检测到

最后点击 构建套件,点击右端添加,

至此配置好用于linux上编译的qmake,就可以在linux上跑程序了。

3、新建个小程序试下,新建过程参考http://duxiaolong5750.blog.163.com/blog/static/44856246201421405034948/

插曲:我新建的时候,到最后跳出对话框说 “无法创建目录。。。。” 网上查了有人说在安装qtcreator的时候没有用root权限安装神马的,害我重装一遍但也没解决问题,幸亏最近在看《鸟哥的私房菜》,里面说了些文件的权限问题之类的,于是我把自己创建的工程所在的目录的权限都改成chmod 777,然后就没问题了哈哈

建立工程后,build,run 结果如下:

linux

qmake 拥有一个用于持久配置的系统,它允许我们在 qmake 中设置一个属性,并在每次调用 qmake 时查询它。我们可以使用如下方式在 qmake 中设置属性:

我们可以使用适当的属性名和值来代替上面命令中的 PROPERTY 和 VALUE 的内容

我们可以在 qmake 中通过如下两种方式查看属性信息:

注意 : qmake -query 除了使用 qmake -set 属性值设置的属性外,还列出了内置属性。这些信息将被保存到 QSettings 对象中(这意味着它将存储在不同平台的不同位置)。

下面的列表中列出了内置的属性:

例如,我们可以使用 QT_INSTALL_PREFIX 属性查询这个版本的 qmake 对应的 Qt 的安装目录:

我们可以在 qmake 的 project 文件中通过如下方式使用上面所列出的属性值,具体示例如下所示:

qmake 需要一个平台和编译器描述文件,该文件包含许多用于生成适当 Makefile 的默认值。标准 Qt 发行版附带了许多这样的文件,位于 Qt 安装目录中的 mkspecs 子目录中。

QMAKESPEC 环境变量通常包含以下内容:

注意 : QMAKESPEC 路径将在 INCLUDEPATH 系统变量的内容之后自动添加到生成的 Makefile 中。

缓存文件是一个特殊的 qmake 读取文件,用于查找 qmake.conf 文件、项目文件或命令行中未指定的设置。运行 qmake 时,它查找一个名为 .qmake 的文件。缓存在当前目录的父目录中,除非指定 -nocache。如果 qmake 没有找到这个文件,它将静默地忽略这个处理步骤。

如果 qmake 找到这个 .qmake 文件。则它将在处理项目文件之前先处理这个文件。

在正常情况下,qmake 将尝试为我们的平台使用适当的文件扩展名。但是,有时需要覆盖每个平台的默认选项,并显式定义 qmake 要使用的文件扩展名。这是通过重新定义某些内置变量来实现的。例如, moc 文件使用的扩展名可以在项目文件中通过以下方式重新定义:

以下变量用于重新定义可被 qmake 识别的常见文件扩展名:

上面所有的属性都只接受第一个值,因此我们必须为它分配一个值,该值将在整个项目文件中使用。另外,还有两个变量接受一个值列表:

我来回答你的问题吧 首先make命令一般是linux上gcc默认使用的 而windows上编程一般使用visual c++的,它的编译器命令就不是make而是nmake。其次你使用qtCreator编译就可以,没必要使用命令行,因为命令行需要设置环境变量的。如果硬要使用命令行可以用qt工具栏里找一个qt command prompt,这里面用minw32-make可以编译,ming32是qtcreator使用的编译器。

改成#include <QtGui/QApplication>试试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8588438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存