qt qmake pro 里面函数使用的问题!

caiwei_cs 2017-04-20 11:25:34
pro文件中,我想读取svn版本号。使用以下命令,报错。
SVN_REVERSION = $$system( svn info | awk -F ':' '{ if($1 ~ /^Revision$/) {print $2} }' | tr -d " " )

报错:/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `svn info | awk -F : { if($1 ~ /^Revision$/) {print $2} } | tr -d '

这句话在命令行或者脚本中执行没有问题。求教!!
如果只使用system(svn info | awk -F ':' '{ if( $1 ~ /^Revision$/) { print $2} }'| tr -d " ")
而不加$$system(....)就不会报错

另外还想问一下
1能不能在pro文件中用实现计数,例如 A=1 , -> A = B + 2之类的功能
2.如果一个variablename中有多个value 除了first和last之外怎么拿到低n个值啊?

还有诸如:
extendCmd += echo "sourceDefine=\\\"$$DEFINES\\\"" >> $${INSTALL_PATH}/buildtag;
DEFINES += PRO_NAME=\\\"$${PRO_NAME}\\\"
里面的三斜杠是什么转义 啊?
...全文
464 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
话说为何要在.pro里面读取版本或者计算?.pro处理可能有些特殊,可以放到类里面处理
caiwei_cs 2017-04-24
  • 打赏
  • 举报
回复
自己顶以下
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于zigbee和stm32的智能家居系统源码+项目说明,上位机使用Qt编写(毕业设计).zip # 基于 Zigbee 和 STM32 的环境监测监控系统 项目设计、开发文档、以及开发资料获取方式:
## 安全认证 [![Security Status](https://www.murphysec.com/platform3/v3/badge/1614013746192613376.svg?t=1)](https://www.murphysec.com/accept?code=69f7806ceb54b7d3e1a8a09bff768c88&type=1&from=2&t=2) ## 项目介绍 本系统分为硬件和软件两部分内容,下位机 `STM32` 单片机驱动各个传感器模块采集数据,然后发送给 `ZigBee` 终端,`ZigBee` 终端在接收到数据后发送给协调器,协调器是和 `ARM`开发板(上位机)相连接的,`ARM` 开发板收到数据后进行相应的解析并显示在界面上。其中ARM开发板上跑的是使用 `Qt` 编写的程序,经过交叉编译后移植到了开发板上。 ![framework](./screen/framework.png) 有关该项目详细使用说明,可以看这边博客,介绍的比较详细.[传送门][3] ## 开发环境 ``` 开发系统:Windows10 64位 Ubuntu 14.04 32 位 软件版本:Qt 4.8.6 IAR .0 Altium Designer 13.0 工具链:arm-linux-gcc 4.4.3 ``` 目前已经支持 `Qt5` 编译运行 ## 编译和运行 ### 下载代码到本地 ``` git clone git@github.com:kevinlq/SmartHome-Qt.git cd SmartHome-Qt qmake SmartHomeV5.pro ``` ### 使用Qt4打开直接编译 为什么说是Qt4呢,因为当时编写基于ARM Linux 平台,使用的是Qt4,在Qt5中有一些函数方法被取消了。如果你在windows下或者其他平台使用Qt4,那么需要自己进行修改! ### 运行 程序运行需要数据库,默认使用 `QSqlLite` 数据库,需要拷贝 `file`文件夹下的 `SmartHome.db` 文件到可执行程序同级目录下 >默认程序编译完成后,可执行程序在bin目录下 可以在工程配置文件中进行修改! ``` DESTDIR = $$PWD/bin ``` 关于交叉编译,移植到ARM平台,可以参考我的这篇文档,介绍很详细! [传输门][2] 如果有什么问题欢迎及时联系我 ## 系统功能 详细的介绍可以看博客[http://blog.csdn.net/u013704336/article/details/51765397][1] 这个项目作为2016年的毕设,完美完成了各项要求。综合利用了所学的C语言、C++、zigbee、stm32、Qt、ARM、等嵌入式技术。 ### 首页 ![Image text](/screen/home.png) ### 控制主界面 ![Image text](/screen/controlHome.png) ### 客厅 ![Image text](screen/parlour.png) ### 卧室 ![Image text](/screen/bedroom.png) ### 厨房 ![Image text](/screen/kitchen.png) ### 历史曲线数据 ![Image text](/screen/temp.png) ![Image text](/screen/smoke.png) ![Image text](/screen/hum.png) ## 电路原理图 电路图使用AD13软件进行绘制,使用的主控芯片是STM32F103 ![Image text](/screen/stm32.png) ## Change Logs - .... - 2018-10.14-添加程序编译及运行配置(最近有不少人问,总是编译失败,所以完善了下) - 2020.03.11 兼容Qt5,

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧