.pro 文件变量定义,及与makefile和vcxproj之间的相互转换

480 阅读1分钟

参考该文章:qmake的使用 - 乌合之众 - 博客园 (cnblogs.com)
截取一些用的到的

  • .pro变量

    .pro中变量含义示例
    TEMPLATE模板变量指定生成makefile(app:应用程序/lib:库)TEMPLATE = app
    QT使用到的Qt定义的类(core/gui/widgets...)QT += widgtes
    DESTDIR指定生成的应用程序放置的目录DESTDIR += ../bin
    TARGET指定生成的应用程序名TARGET = hello
    HEADERS工程中包含的头文件HEADERS += hello.h
    FORMS工程中包含的.ui设计文件FORMS += hello.ui
    SOURCES工程中包含的源文件SOURCES += main.cpp hello.cpp
    RESOURCES工程中包含的资源文件RESOURCES += qrc/hello.qrc
    LIBS引入的lib文件的路径 -L:引入路径LIBS += -L.
    CONFIG用来告诉qmake关于应用程序的配置信息CONFIG+= qt warn_on release
    UI_DIR指定.ui文件转化成ui_*.h文件的存放目录UI_DIR += forms
    RCC_DIR指定将.qrc文件转换成qrc_*.h文件的存放目录RCC_DIR += ../tmp
    MOC_DIR指定将含Q_OBJECT的头文件转换成标准.h文件的存放目录MOC_DIR += ../tmp
    OBJECTS_DIR指定目标文件(obj)的存放目录OBJECTS_DIR += ../tmp
    DEPENDPATH程序编译时依赖的相关路径DEPENDPATH += . forms include qrc sources
    INCLUDEPATH头文件包含路径INCLUDEPATH += .
    DEFINES增加预处理器宏(gcc的-D选项)。DEFINES += USE_MY_STUFF
    QMAKE_CFLAGS设置c编译器flag参数QMAKE_CFLAGS += -g
    QMAKE_CXXFLAGS设置c++编译器flag参数QMAKE_CXXFLAGS += -g
    QMAKE_LFLAGS设置链接器flag参数QMAKE_LFLAGS += -rdynamic
  • .pro生成Makefile

    qmake xxx.pro -o Makefile
    
  • .pro生成vcxproj工程:

    # 会生成文件xxx.vcxproj
    qmake -tp vc xxx.pro      
    
  • cmakelists.txt生成.pro

    # 默认在build目录下 ../ 指向 cmakelists.txt
    qmake -project ../