Qt项目下pro文件设置库路径
问题
正常情况下我们会将工程的路径用一个变量来储存
例如:
PROJECT_DIR=/home/$$(USER)/svn/embd_linux/app
然后后面的变量引用这个变量,例如:
INCLUDEPATH += $${PROJECT_DIR}/thirdparty/sqlite3/include
LIBS += -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/app
equals($$(USER), "Kevin") {
PROJECT_DIR=/home/$$(USER)/embd_linux/app
message( "USER Kevin" )
}
但是这样根本不行
USER Kevin根本没有被打印
然后折腾了一会,发现这个$$(USER)变量实际和pro里面的变量还不太一样
于是就改成这样
PROJECT_DIR=/home/$$(USER)/svn/embd_linux/app
USERNAME = $$(USER)
equals(USERNAME, "Kevin") {
PROJECT_DIR=/home/$$(USER)/embd_linux/app
}
这次就成功了。
结论
所以后面遇到多人合作开发,环境的路径又不太一样的时候,可以将Qt的pro文件改一下条件判断。
这种条件判断的方式应该在很多情况下都可以使用的,可以灵活运用
Qt项目下pro文件设置库路径的更多相关文章
- QT中的pro文件的编写
原地址:http://blog.csdn.net/fjb2080/article/details/4833666 我们在编译QT的工程的时候,一般都会让qmake自动生成,但有时我们需要定制我们的工程 ...
- 设置程序版本等信息(可直接修改pro文件设置,但是更推荐使用rc文件设置)
Qt版本:5.2.0 在.pro文件中设置版本等信息 VERSION = 1.2.3 QMAKE_TARGET_PRODUCT = 产品名称QMAKE_TARGET_COMPANY = 公司QMAKE ...
- gcc和g++头文件和库路径的寻找和添加
对所有用户有效修改/etc/profile文件 对个人有效则修改~/.bashrc文件 #在PATH中找到可执行文件程序的路径. export PATH =$PATH:$HOME/bin (可一次指定 ...
- QT学习日记篇01(1)-QT界面初探- *.pro文件详解
一: 项目管理文件(.pro文件) 项目管理文件用于记录项目的一些设置,以及项目包含文件的组织管理 后缀为".pro"的 文件是项目的管理文件,文件名就是项目的名称,如Demo.p ...
- selenium 下载文件设置下载路径
Chrome 文件下载 Chrome浏览器类似,设置其options: download.default_directory:设置下载路径 profile.default_content_settin ...
- maven项目下jsp文件中el表达式失效问题
本来是为了写个springmvc的小demo,雏形搭建起来后想起来做成maven的好了,就重新建的maven项目,坑就从这里开始了... maven创建web项目默认使用的是web 2.3版本,web ...
- Spring项目下js文件无法引用
问题:最近练习spring-mvc框架的时候,引用了jQuery,但是运行的时候,jQuery做的事情都没有响应,代码也没有任何报错,在网上找了一下,发现是由于spring配制的是/,所有的资源都被屏 ...
- (转载)QT中PRO文件写法的详细介绍,很有用,很重要!
版权声明:本文为博主原创文章,未经博主允许不得转载. 在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: 1. 注释从“#”开始,到 ...
- Qt编写自定义控件插件开放动态库dll使用(永久免费)
这套控件陆陆续续完善了四年多,目前共133个控件,除了十几个控件参考网友开源的代码写的,其余全部原创,在发布之初就有打算将动态库开放出来永久免费使用,在控件比较完善的今天抽了半天时间编译了多个qt版本 ...
- Vue系列---【.npmrc文件设置私服地址】
一..npmrc 配置文件的优先级 电脑中有多个 .npmrc 文件,在我们安装包的时候,npm按照如下顺序读取这些配置文件 项目配置文件: /project/.npmrc 用户配置文件:~/.npm ...
随机推荐
- canvas(三)绘制矩形
1.绘制矩形轨迹 相关语法:ctx.rect(x,y,width,height),根据传入的参数(起始坐标和宽高)用来绘制一个矩形轨迹 注意:ctx.rect()和ctx.lineTo()绘制的都是轨 ...
- 如何解决Git合并冲突?
讲个故事先: 一个晴朗的日子,Alex 把远程版本库的修改拉到他的本地版本库. 他修改了名为 abc.txt 的文件,将其暂存(staged),提交(committed),最后推送(pushed)回远 ...
- openEuler欧拉使用sshpass不输入密码远程登录其他服务器
ssh登陆不能在命令行中指定密码,sshpass 的出现则解决了这一问题.用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行.文件.环境变量中读取. 操作步骤: 一.关闭防火墙 ...
- P6474 [NOI Online #2 入门组] 荆轲刺秦王 题解
荆轲将会臭名昭著 首先 $15$ 做法很简单,那就是直接 `cout<<-1` 考虑用 BFS 来解思路很简单,但是怎么求每个士兵的控制范围呢? 直接暴力时间复杂度是 $O(nma^2)$ ...
- zz 失血模型与充血模型等
失血模型与充血模型 | 三秋 (贫血模型)优点是系统的层次结构清楚,各层之间单向依赖,Client->(BusinessFacade)->BusinessLogic->Data Ac ...
- x509.MarshalSm2PrivateKey
根据搜索结果,x509.MarshalSm2PrivateKey 函数需要两个参数:一个 *sm2.PrivateKey 和一个 []byte 类型的密码.以下是使用 x509.MarshalSm2P ...
- 操作系统messages文件位置更改
问题现象 在遇到一个问题的时候需要查看操作系统的日志,但是到操作系统上的 /var/log/messages 文件中发现该文件已经很久没有刷新过了. 这个系统之前是做过安全加固的,我怀疑它改过操作系统 ...
- 在VS Code中vue引入新版vue-awesome-swiper编译时提示swiper/dist/css/swiper.css无法导入的问题
在安装vue-awesome-swiper时报错swiper/dist/css/swiper.min.css找不到,如下如: 有的回答安装6.0版本的话需要引入另外一个css import 'swip ...
- C#中定义委托的思路
如同在C#的类中定义成员变量或属性一样,类中定义成员变量(private)或属性(public),在类的构造方法中为变量或属性赋值或初始化. 在C#的类中定义委托变量同样遵循这个思路.首先声明一个委托 ...
- Intellij IDEA如何导入 Maven 项目
Intellij IDEA如何导入 Maven 项目 选择 File->Import Module,选择 Maven 模块路径,如下图所示: 选择"Import module from ...