zoukankan      html  css  js  c++  java
  • Qt .pro文件常用命令说明

    -Wl,-Bstatic指示跟在后面的-lxxx选项链接的都是静态库,-Wl,-Bdynamic指示跟在后面的-lxxx选项链接的都是动态库

    例如:

    LIBS += -Wl,-Bstatic -lssh2  静态链接ssh2库
    LIBS += -Wl,-Bdynamic -lssl   动态链接ssl库


    添加库目录和库文件

    LIBS += -L后面跟路径,表示添加库目录

    LIBS += -l后面跟库名,表示添加具体的库


    添加编译器对C++11的支持

    QMAKE_CXXFLAGS += "-std=c++11"

    添加生成MAKEFILE文件中,搜索库的路径信息

    QMAKE_LFLAGS += -Wl,-rpath=/home/d5000/guodiao/lib后面的即是要添加的路径名


    TARGET = SheetShow表示生成的程序名
    TEMPLATE = app 【这个标识其实是为了告诉qmake生成什么样的MakeFile】

    • (app)表示该项目生成的是可执行文件
    • (lib)是库
    • (subdirs)是一个管理多个.pro项目的.pro

    VERSION = 1.0.0如果TEMPLATE是lib,那么这个是确定库的版本号

    DESTDIR = ./bin表示生成程序所在的路径
    MOC_DIR = temp/moc表示中间文件.moc的路径
    RCC_DIR = temp/rcc表示中间文件.rcc的路径
    UI_DIR = temp/ui表示中间文件.ui的路径
    OBJECTS_DIR = temp/obj表示中间文件.obj的路径

    include(xxx.pri) 表示将HEADERS += 和 SOURCES += 写到了xxx.pri里面。然后下一层是.pri文件 + 头文件 + 源文件。

    DEFINES += QT_DEPRECATED_WARNINGS:定义编译选项。QT_DEPRECATED_WARNINGS表示当Qt的某些功能被标记为过时的,那么编译器会发出警告。

    greaterThan(QT_MAJOR_VERSION,4):QT+=widgets:这是Qt5为了兼容Qt4而专门设计的,语句大意为如果Qt版本大于4,则将widgets模块加入到QT变量中,从这一点,我们可以推敲出Qt4的widgets模块是和gui模块为一体的,而Qt5已经将其分离了出来。


    INCLUDEPATH += 表示添加包含路径

    OTHER_FILES += 表示其他文件

    RC_FILE += 添加RC文件,在RC文件中添加一行:IDI_ICON1 ICON DISCARDABLE "logo.ico"其中logo.ico为图标文件名

    RESOURCES += 表示资源文件

    CONFIG += 表示配置变量,指定了编译器所要使用的选项和所需要被连接的库    

    • release - 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。
    • debug - 应用程序将以debug模式连编。
    • warn_on - 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。
    • warn_off - 编译器会输出尽可能少的警告信息。
    • qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。
    • thread - 应用程序是一个多线程应用程序。
    • x11 - 应用程序是一个X11应用程序或库。
    • windows - 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。
    • console - 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。
    • dll - 只用于“lib”模板:库是一个共享库(dll)。
    • staticlib - 只用于“lib”模板:库是一个静态库。
    • plugin - 只用于“lib”模板:库是一个插件,这将会使dll选项生效。
  • 相关阅读:
    可汗学院的数学从零开始学习顺序?
    判断两个数组内容是否相同
    eclipse package,source folder,folder区别及相互转换
    [垂直化搜索引擎]lucene简介及使用
    有效处理Java异常三原则
    ZeroMQ作者于昨天下午宣布选择安乐死
    linux一路填坑...
    gcc/g++/makefile/easymake/cmake/xmake/nmake ...
    RTSP客户端接收存储数据(live555库中的openRTSP实例)
    RTSP客户端接收存储数据(live555库中的testRTSPClient实例)
  • 原文地址:https://www.cnblogs.com/wisdomroc/p/14061267.html
Copyright © 2011-2022 走看看