精华内容
下载资源
问答
  • QMake

    2020-11-09 15:05:47
    qmake 乱乱乱谈 Qt-QMake官方使用手册(翻译) Qt高级——QMake快速入门
    展开全文
  • Qmake

    2017-08-29 15:10:16
    Qmake的用法 1.变量的使用 Qmake提供了很多的内置变量,主要包含了项目构建相关的变量以及Qt自身相关变量,详细可以参见qmake Variable Reference,Qt也提供供了一些内置工具变量,这些变量可以在qmake生成的...

    Qmake的用法
    1.变量的使用
    Qmake提供了很多的内置变量,主要包含了项目构建相关的变量

    以及Qt自身相关变量,详细可以参见qmake Variable Reference,Qt也提供供了

    一些内置工具变量,这些变量可以在qmake生成的Makefile中看到,例如拷贝和
    删除命令 QMAKE_COPY QMAKE_DEL等。
    Qmake也提供了一些Qt自身环境的变量,这些变量可以通过qmake -query看到

    2.函数的使用
    2.1 Replace函数
    Qt提供了很多的内置replace函数,详细可以通过qmake function查看,
    例如replace,join,split,member,fist,last等。当然也可以自定制函数
    自定制函数的变量通过$$1, $$2… $$N来进行访问,所有的参数存储在
    一个List中”ARGS”就是所有参数 ARGS = $$1 $$2 ….
    获取变量名参数的值,这里特别要注意的是,qmake传递的始终是字符串
    所以可以传递变量名称或者直接值,具体传的是变量的名称还是变量的
    值,可以通过函数说明知道,如果传递的是变量的值,直接通过$$N就可以
    直接取得,如果传递的变量,则需要通过执行函数来获取
    realvalue = $$eval($$N)。
    defineReplace(myfunc){ qmake的函数”{}”括号必须和条件在一行
    return (aa, bb, cc)
    }
    调用过程 LIST1 = $$myfunc() 特别注意这里必须要有返回值,否则报警告

    2.2 Test函数
    test函数和replace函数的参数使用,以及调用规则相同,唯一不同的是
    test函数在调用的过程中不需要加”$$”符号,但是replace函数需要,而且
    replace函数还需要一个变量来接收返回值,test主要用来判断,返回值只有
    true和false,true是真,false是假
    defineTest(equal0){
    isEuqal($$1, 0){
    return (true)
    }

    return (false)
    }

    for函数用法
    for函数使用过程的注意点:
    <1>传入的是变量名称
    <2>访问循环变量调用 $${i}
    例如:
    for(i, LIST){
    message(i=$${i})
    }

    对象列表的用法
    例如
    aa.filename = test1.data
    aa.name = aa
    bb.filename = test2.data
    bb.name = bb

    LISTA = aa bb
    for(i, LISTA){
    filename = $$eval($${i}.filename)
    name = $$eval($${i}.name)
    message(filename = $$filename name = $$name)
    }

    LIST = xx yy zz
    for(i, LIST){
    message(i = $${i})
    }

    aa.filename = test1.data
    aa.name = aa

    bb.filename = test2.data
    bb.name = bb

    LISTA = aa bb
    for(i, LISTA){
    filename = $$eval($${i}.filename)
    name = $$eval($${i}.name)
    message(filename = $$filename name = $$name)
    }

    Qmake的转义字符,以及”“字符

    Qmake的pro文件中”“都用来表示注释,要输出”“,需要使用LITERAL_HASH来表示”“

    Qmake中如果在字符串中输出”” 需要使用\来进行转义

    另外需要注意的是,Qmake的replace函数,使用的是正则表达式,在进行替换的时候 * + ?等都是需要进行转义的

    varname = “a*b = 5”

    例如 newstr = $$replace(varname, $$quote(“*”), “+”)

    另外需要注意的事情是,如果需要修改Qmake内置变量的值

    *请一定不要在函数中进行修改,函数可以访问,但是绝对不能进行修改

    *因为修改Qmake内置变量的值是不会生效的。

    *例如你需要配置某个库的INCLUDEPATH,LIB等,你如果编写函数进行修改

    *修改不会生效。需要在执行语句中完成。

    defineReplace(configlib){

    INCLUDEPATH += $$1

    LIBS += -L$$2

    }

    直接调用$$configlib(/usr/lib/include, /usr/lib)

    这样不会生效,Qmake会在调用函数前备份变量数据,调用后恢复备份前的数据,并返回新数据

    所以不会生效,如果要实现这样的操作,只能将代码写在直接配置语句中。

    展开全文
  • qmake

    2019-04-10 23:40:08
    qmake是Qt专用的项目管理工具,它对Qt的学习及其重要,理解了qmake和g++的使用,我们就明白了一个IDE的含义,也就知道了Qt如何将我们的 .h和.cpp文件变成可执行的应用程序了。 每一个Qt工程项目下都有一个.pro文件...

    qmake是Qt专用的项目管理工具,它对Qt的学习及其重要,理解了qmake和g++的使用,我们就明白了一个IDE的含义,也就知道了Qt如何将我们的 .h和.cpp文件变成可执行的应用程序了。

    每一个Qt工程项目下都有一个.pro文件,qmake命令外加一个参数就可以构建pro工程文件。

    qmake -project        该命令生成pro工程文件

    qmake        该命令生成用于编译的Makefile文件

    Makefile文件是类似于Linux环境下的批处理"脚本"文件。在Linux系统上进行C/C++开发,写Makefile文件必不可少的。

     mingw32-make -f Makefile.Release        mingw32是GNU下的免费开源编译系统,后面的参数是使用我们上述命令在已经生成的Makefile.Release文件信息进行编译与连接我们的代码最终生成二进制的可执行文件,当然也可以在Makefile.Debug下进行编译连接。

     

     我们现在应该明白了Qt程序的编辑、编译和运行的整个过程了,当然也要学习GDB调试器的用法,调试在开发中尤为重要。

    展开全文
  • qmake_learning qmake语言学习
  • 配置Qmake

    2021-04-17 11:57:58
    配置Qmake配置Qmake特性QMAKESPECCache文件文件扩展名 配置Qmake 特性 qmake具有用于持久配置的系统,该系统允许您在qmake中设置一次属性,并在每次调用qmake时对其进行查询。您可以在qmake中设置属性,如下所示: ...

    配置Qmake

    特性

    qmake具有用于持久配置的系统,该系统允许您在qmake中设置一次属性,并在每次调用qmake时对其进行查询。您可以在qmake中设置属性,如下所示:

    qmake -set PROPERTY VALUE
    

    适当的属性和值应替换为PROPERTY和VALUE。

    您可以按以下方式从qmake检索回该信息:

    qmake -query PROPERTY
    qmake -query #queries all current PROPERTY/VALUE pairs
    

    注意:qmake -query除了您设置的属性外,还列出了内置属性qmake -set PROPERTY VALUE。

    此信息将保存到QSettings对象中(意味着它将存储在不同平台的不同位置)。

    以下列表总结了这些built-in属性:

    QMAKE_SPEC-在主机构建期间mkspec已解析并存储在QMAKESPEC变量中的主机的简称
    QMAKE_VERSION-qmake的当前版本
    QMAKE_XSPEC-在目标构建期间mkspec已解析并存储在QMAKESPEC变量中的目标的简称
    QT_HOST_BINS-主机可执行文件的位置
    QT_HOST_DATA-qmake使用的主机可执行文件的数据位置
    QT_HOST_PREFIX-所有主机路径的默认前缀
    QT_INSTALL_ARCHDATA-依赖于体系结构的通用Qt数据的位置
    QT_INSTALL_BINS-Qt二进制文件的位置(工具和应用程序)
    QT_INSTALL_CONFIGURATION-Qt设置的位置。在Windows上不适用
    QT_INSTALL_DATA-通用的与体系结构无关的Qt数据的位置
    QT_INSTALL_DOCS-文档位置
    QT_INSTALL_EXAMPLES-示例位置
    QT_INSTALL_HEADERS-所有头文件的位置
    QT_INSTALL_IMPORTS-QML 1.x扩展的位置
    QT_INSTALL_LIBEXECS-库在运行时所需的可执行文件的位置
    QT_INSTALL_LIBS-库的位置
    QT_INSTALL_PLUGINS-Qt插件的位置
    QT_INSTALL_PREFIX-所有路径的默认前缀
    QT_INSTALL_QML-QML 2.x扩展的位置
    QT_INSTALL_TESTS-Qt测试用例的位置
    QT_INSTALL_TRANSLATIONS-Qt字符串的翻译信息的位置
    QT_SYSROOT-目标构建环境使用的sysroot
    QT_VERSION -Qt版本。我们建议您改为使用$$ QT。 .version变量查询Qt模块特定的版本号。
    例如,您可以使用以下QT_INSTALL_PREFIX属性查询此版本qmake的Qt安装:

    qmake -query "QT_INSTALL_PREFIX"-query "QT_INSTALL_PREFIX"
    

    您可以按以下方式查询项目文件中的属性值:

    QMAKE_VERS = $$[QMAKE_VERSION]= $$[QMAKE_VERSION]
    

    QMAKESPEC

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

    该QMAKESPEC环境变量可以包含任何以下内容:

    包含qmake.conf文件的目录的完整路径。在这种情况下,qmake将从qmake.conf该目录中打开文件。如果文件不存在,qmake将退出并显示错误。
    平台编译器组合的名称。在这种情况下,qmake将在mkspecs编译Qt时指定的数据路径的子目录指定的目录中搜索
    注意:该QMAKESPEC路径将在INCLUDEPATH系统变量的内容之后自动添加到生成的Makefile中。

    Cache文件

    高速缓存文件是qmake读取的特殊文件,以查找未在qmake.conf文件,项目文件或命令行中指定的设置。运行qmake时.qmake.cache,除非您指定,否则它将在当前目录的父目录中查找一个名为的文件-nocache。如果qmake找不到该文件,它将无提示地忽略此处理步骤。

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

    文件扩展名

    在正常情况下,qmake会尝试为您的平台使用适当的文件扩展名。但是,有时有必要覆盖每个平台的默认选项,并明确定义文件扩展名以供qmake使用。这是通过重新定义某些内置变量来实现的。例如,可以通过在项目文件中进行以下分配来重新定义用于moc文件的扩展名:

    QMAKE_EXT_MOC = .mymoc= .mymoc
    

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

    QMAKE_EXT_MOC修改包含在包含的moc文件上的扩展名。
    QMAKE_EXT_UI修改用于Qt Designer UI文件的扩展名(通常在FORMS中)。
    QMAKE_EXT_PRL修改放置在库依赖文件上的扩展名。
    QMAKE_EXT_LEX更改Lex文件中使用的后缀(通常在LEXSOURCES中)。
    QMAKE_EXT_YACC更改Yacc文件中使用的后缀(通常在YACCSOURCES中)。
    QMAKE_EXT_OBJ更改在生成的目标文件上使用的后缀。
    以上所有内容仅接受第一个值,因此您必须仅为其分配一个将在整个项目文件中使用的值。有两个变量可以接受值列表:

    QMAKE_EXT_CPP使qmake将带有这些后缀的所有文件解释为C ++源文件。
    QMAKE_EXT_H使qmake将带有这些后缀的所有文件解释为C和C ++头文件。

    展开全文
  • 运行Qmake

    2021-04-17 10:50:25
    运行Qmake运行Qmake命令语法操作模式档案文件常规选项Makefile模式选项项目模式选项 运行Qmake 通过在命令行上指定各种选项,可以自定义qmake的行为。这些允许微调构建过程,提供有用的诊断信息,并可用于指定项目的...
  • Qmake入门

    2021-04-16 19:48:28
    Qmake入门Qmake入门从简单开始使应用程序可调试添加特定于平台的源文件如果文件不存在,则停止qmake检查多个条件 Qmake入门 本教程将教您qmake的基础知识。本手册中的其他主题包含有关使用qmake的更多详细信息。 从...
  • Qmake语言

    2021-04-17 11:00:03
    Qmake语言Qmake语言Operators赋值附加值去除价值增加独特的价值替换值可变膨胀访问qmake属性范围范围语法范围和条件配置和范围平台范围值变数替换功能测试功能 Qmake语言 许多qmake项目文件仅使用name = value和name...
  • qmake用法

    2021-03-24 14:06:15
    但是这个项目里不涉及到依赖平台的写法,完全是POSIX跨平台的代码,由于代码文件较多在Linux上只有.sln文件而Linux又没有visual studio来管理它,这个时候我们可以使用qmake来一键为我们生成项目。 在项目里使用...
  • qmake概述

    2021-04-16 19:43:46
    qmake概述概述描述一个项目建立一个项目使用第三方库预编译头 概述 qmake工具为您提供了一个面向项目的系统,用于管理应用程序,库和其他组件的构建过程。这种方法使您可以控制所使用的源文件,并可以简明地描述过程...
  • qmake manual

    2016-05-29 18:52:42
    由官网网页这里的qmake manual,版本为5.6 。供大家线下学习使用。
  • am3352 qmake

    2018-11-19 17:53:03
    am3352的qmake!!
  • qmake一些话题

    2017-04-19 11:29:05
    qmake
  • qmake手册——运行qmake

    2017-08-20 18:55:30
    运行qmake在命令行下,我们可以通过指定不同的选项从而自定义qmake的行为。这样可以更好的 控制构建过程,提供有用的诊断信息,还可以指定目标平台。命令行语法运行qmake的语法如下: qmake [mode] [options] ...
  • qmakeqmake的安装

    万次阅读 2016-11-23 13:28:33
    文章转载来自:  http://www.kuqin.com/qtdocument/qmake-manual-1.html ...如果你已经有了qmake,可以跳过这里,请看10分钟学会使用qmake。 手动安装qmake 在手工连编Qt之前,下面这些环境变量必须被设

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,778
精华内容 9,911
关键字:

qmake