linux聊天室qtpro文件,Qt:pro文件

#所有工程的pro文件应包含(include)本文件

#包含位置应当在pro文件的末尾

ISCS6000_HOME = $$PWD/../

#注:“$$”为获取变量的值,“$$()”为获取环境变量的值,不可混淆,详见QT文档

ISCS6000_PLATFORM = $$(ISCS6000_PLATFORM)

isEmpty(ISCS6000_PLATFORM) {

error("Error, ISCS6000_PLATFORM is empty!")

}

#---------------------------------------------------------------------------------------------------

#虽然Unix、Linux下不要求严格区分,但是为了便于管理,所有平台区分Debug、Release

CONFIG(debug, debug|release) {

DIR_DEBUG_RELEASE=_debug

}

CONFIG(release, debug|release) {

DIR_DEBUG_RELEASE=_release

}

#---------------------------------------------------------------------------------------------------

linux-g * {

message("current os-compiler linux-g ")

#程序中可判断此宏定义进行条件编译

DEFINES = OS_LINUX

#避免gcc 4.8 报警:boost/optional/optional.hpp:968:5: 警告:未使用的参数‘rhs’

#原因是gcc该函数的默认实现中没有使用rhs参数,换用BOOST定义的实现

DEFINES = BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS=1

}

win32-msvc* {

message("current os-compiler windows-msvc")

#程序中可判断此宏定义进行条件编译

DEFINES = OS_WINDOWS

#设置程序的运行时字符编码

QMAKE_CXXFLAGS =/execution-charset:utf-8

#由于Windows下一些第三方库的名称增加了“lib”,此处进行统一化处理

#各工程的pro文件中就不需要按平台条件书写,统一使用Unix、Linux的方式书写即可

contains(LIBS, -lprotobuf) {

LIBS -= -lprotobuf

LIBS = -llibprotobuf

}

contains(LIBS, -lzmq) {

LIBS -= -lzmq

LIBS = -llibzmq

}

contains(LIBS, -lczmq) {

LIBS -= -lczmq

LIBS = -llibczmq

}

contains(LIBS, -lprotobuf) {

LIBS -= -lprotobuf

LIBS = -llibprotobuf

}

contains(LIBS, -lprotobuf-lite) {

LIBS -= -lprotobuf-lite

LIBS = -llibprotobuf-lite

}

contains(LIBS, -lprotoc) {

LIBS -= -lprotoc

LIBS = -llibprotoc

}

contains(LIBS, -llua) {

LIBS -= -llua

LIBS = -lliblua

}

LIBS = -lws2_32

}

solaris-g * {

message("current os-compiler solaris-g ")

#程序中可判断此宏定义进行条件编译

DEFINES = OS_SOLARIS

LIBS = -ldl \

-lw \

-lgen

}

#关闭BOOST的自动连库

DEFINES = BOOST_ALL_NO_LIB=1

#BOOST使用动态库

DEFINES = BOOST_ALL_DYN_LINK=1

#---------------------------------------------------------------------------------------------------

isEmpty(TARGET) {

error("Error, TARGET is empty!")

}

else {

#设置编译过程临时文件的路径,保持源代码目录清洁

MOC_DIR = $$ISCS6000_HOME/src/temp/$$TARGET$$DIR_DEBUG_RELEASE/moc

UI_DIR = $$ISCS6000_HOME/src/temp/$$TARGET$$DIR_DEBUG_RELEASE/ui

UI_HEADERS_DIR = $$ISCS6000_HOME/src/temp/$$TARGET$$DIR_DEBUG_RELEASE/ui/include

UI_SOURCES_DIR = $$ISCS6000_HOME/src/temp/$$TARGET$$DIR_DEBUG_RELEASE/ui/src

OBJECTS_DIR = $$ISCS6000_HOME/src/temp/$$TARGET$$DIR_DEBUG_RELEASE/obj

RCC_DIR = $$ISCS6000_HOME/src/temp/$$TARGET$$DIR_DEBUG_RELEASE/rcc

}

message("OBJECTS_DIR =" $$OBJECTS_DIR)

#---------------------------------------------------------------------------------------------------

#取消为生成的动态库创建软链接,减少文件数量

CONFIG = unversioned_libname unversioned_soname

#设置运行时找动态库的路径rpath,对采用ELF文件格式的系统有效(Unix、Linux)

#“$ORIGIN”为文件所在路径,多个路径间用英文冒号分隔

#Windows下优先在程序所在目录找动态库

QMAKE_RPATHDIR = :\'\$\$ORIGIN\'

#编译器找头文件的路径

INCLUDEPATH = $$ISCS6000_HOME/src/include \

$$ISCS6000_HOME/src/include/common \

$$ISCS6000_HOME/src/include/public \

$$ISCS6000_HOME/src/include/protocol \

$$ISCS6000_HOME/src/idl_files \

$$ISCS6000_HOME/src/3rd/include \

$$ISCS6000_HOME/src/3rd/include/breakpad \

$$ISCS6000_HOME/src/3rd/include/QtXlsx/xlsx \

#连接器找直接链接的库的路径

LIBS = -L$$ISCS6000_HOME/platform/$$ISCS6000_PLATFORM$$DIR_DEBUG_RELEASE/

#连接器找隐含依赖(直接链接的库所链接的库)库的路径

QMAKE_RPATHLINKDIR = $$ISCS6000_HOME/platform/$$ISCS6000_PLATFORM$$DIR_DEBUG_RELEASE/

#生成路径,可执行文件和库文件都放在一起

DESTDIR = $$ISCS6000_HOME/platform/$$ISCS6000_PLATFORM$$DIR_DEBUG_RELEASE/

message("DESTDIR =" $$DESTDIR)来源:http://www.icode9.com/content-4-212051.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值