qmake 手册 010 配置 qmake

qmake 手册 010 配置 qmake,第1张

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 识别的常见文件扩展名:

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

Windows和Linux执行文件的方式不同,Linux默认从系统路径中此念寻找,Windows从当前路径寻找。

在Linux上运行当前目录下的文件用

./文件名

而不是直接输入文件名,或者直接连同全路径一起输入。

你的问题是这样的,你的qmake,告诉编译器去你的系统路径中寻找系统中自带的qt库,但是你没有安装。你自己安装了一个开发环境,但是你调用了系统的QT里面的qmake,系统自带的qmake会寻丛拆找编译你的桌面(KDE)的时候用的qt文件,森郑困但是你没有安装,所以所有的文件的位置和版本都找不到。

解决:

1、你可以找到你自己安装的qt然后运行里面的qmake。让qmake找到你自己安装的qt相关文件。

2、直接删除自己安装的软件,加入系统自带的qt开发包,一般叫做qt-xxx-devel,让系统的qt可以找到他原来的开发包。

3、不建议混合,即用系统的qmake找到你目前安装的qt库,那样可能版本不兼容。

关于QT:

你可以认为分成两个部分,一部分用来开发,一部分用来运行程序。你的系统中已经安装了用来运行程序的部分,因此qmake被识别成系统的。而你另外装了一个完整的QT(包含开发部分),但是系统的qmake仍然试图寻找,他自己原来的那个开发部分,而不是你新装的。即使修改文件让系统找到你的那些开发文件也可能和系统的版本不完全一致而出错。

打开Qt Creator。

点击菜单栏上的工具》选项

点击左侧选项中的【构建与运行】一栏

点击右侧窗体顶部的 【败坦Qt版本】 选项卡。

点击【察或桐添加】按钮,切换到你qmake所在的目录,双击qmake.exe文件。(qmake在你qt sdk安装目录下的bin目录中,如果实在找不到,你可以先到Qt安装目录下去搜索qmake,如果有多个qmake,那么就一个一个地添加,一次只能添加一个qmake)

添加完毕之后,点击确定。

然后在新团贺建工程的时候,勾选上你需要的Qt版本即可。


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

原文地址: http://outofmemory.cn/bake/11986201.html

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

发表评论

登录后才能评论

评论列表(0条)

保存