博客
关于我
Qt项目下pro文件设置库路径
阅读量:451 次
发布时间:2019-03-06

本文共 869 字,大约阅读时间需要 2 分钟。

问题

正常情况下我们会将工程的路径用一个变量来储存

例如:

PROJECT_DIR=/home/$$(USER)/svn/embd_linux/app

然后后面的变量引用这个变量,例如:

INCLUDEPATH += $${PROJECT_DIR}/thirdparty/sqlite3/includeLIBS += -lrt -lpthread \        -L$${PROJECT_DIR}/thirdparty/sqlite3/lib -lsqlite3 -lsqlite3-json

但是在多人合作开发的时候,例如有SVN或者Git,如果有人将SVN或者Git的根路径设置的不太一样,不一定在user的根目录上

那么就会出现交叉编译工具或者库找不到的情况
这个时候就要对特定用户做一下区分了,我想到的是对用户名进行判断如果是某个用户他的SVN路径不一样,那么就采用不同的策略

方案

那么我想到的一个方案是

直接判断这个USER变量

PROJECT_DIR=/home/$$(USER)/svn/embd_linux/appequals($$(USER), "Kevin") {    PROJECT_DIR=/home/$$(USER)/embd_linux/app    message( "USER Kevin" )}

但是这样根本不行

USER Kevin根本没有被打印
然后折腾了一会,发现这个$$(USER)变量实际和pro里面的变量还不太一样
于是就改成这样

PROJECT_DIR=/home/$$(USER)/svn/embd_linux/appUSERNAME = $$(USER)equals(USERNAME, "Kevin") {    PROJECT_DIR=/home/$$(USER)/embd_linux/app}

这次就成功了。

结论

所以后面遇到多人合作开发,环境的路径又不太一样的时候,可以将Qt的pro文件改一下条件判断。

这种条件判断的方式应该在很多情况下都可以使用的,可以灵活运用

转载地址:http://zbryz.baihongyu.com/

你可能感兴趣的文章
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
mysql5.6.21重置数据库的root密码
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7性能调优my.ini
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>