QT Creator编译配置汇总

背景

QT Creator 编译配置方法汇总。

Pro文件语法

QT Creator的pro配置文件中也可添加各种编译前后的操作及配置,主要通过 QMAKE_POST_LINK和QMAKE_PRE_LINK;

  • QMAKE_POST_LINK表示编译后执行内容
  • QMAKE_PRE_LINK表示编译前执行内容

QT

指定工程中使用的Qt的模块。默认情况下会使用Qt 的core和gui模块。

QT += core gui

TARGET

指定所生成.exe或.dll文件的名字。

下面的例子会生成”FiberMgr.exe” 文件。

TARGET = FiberMgr
TEMPLATE = app

DEFINES

qmake添加该字段指定的全局宏定义。VS中也有类似的全局宏定义,在.dll工程中经常用到,来指定是 dllexport 还是 dllimport .

DEFINES += FUNDLL_LIBRARY

在头文件中使用上述宏定义:

#if defined(FUNDLL_LIBRARY)
#  define FUNDLLSHARED_EXPORT __declspec(dllexport)
#else
#  define FUNDLLSHARED_EXPORT __declspec(dllimport)
#endif

SOURCES

工程中使用的所有源文件的名字(不包含路径)。

SOURCES += \
    main.cpp \
    dialog.cpp

HEADERS

工程中使用的所有头文件的名字(不包含路径)。

HEADERS += \
   dialog.h

FORMS

列出工程中使用的UI文件(xml格式),这些文件会在编译之前被 uic(User Interface Compile,UI编译器) 处理。构建UI文件是所需的依赖项、头文件、源文件等都会自动被添加到工程中。

UIC会把 .ui(xml格式)文件转换成C++的 .h 文件(通常叫Ui_dialog.h)。其实是在.h文件里定义一个类,里面包含了UI文件中的所以元素/对象。

FORMS = mydialog.ui \
      mywidget.ui \
      myconfig.ui

INCLUDEPATH

列出工程中 #include 项需要搜索的路径,即头文件的路径。多个路径用空格隔开。如果路径本身包含空格,则需要用双引号引起来。

INCLUDEPATH = c:/msdev/include d:/stl/include    
win32:INCLUDEPATH += "C:/mylibs/extra headers"

DEPENDPATH

列出依赖项所在的路径。当处理included文件时会使用该项。个人感觉它就是INCLUDEPATH.

INCLUDEPATH += $$PWD/../mydll
DEPENDPATH += $$PWD/../mydll

PWD

表示当前.pro文件所在的路径。

INCLUDEPATH += $$PWD/../mydll

OUT_PWD

表示输出的“Makefile”所在的路径(通常在编译后生成的.exe文件的上层目录里)。

LIBS += -L$$OUT_PWD/../funDll/ -lfunDll

LIBS

指定工程里需要链接的库文件(.lib或.dll)。通常用Unix风格,大写的L表示“路径”,小写的l表示“库文件名字”。如

unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib

参考资料
https://www.jianshu.com/p/682b9ab004c9


文章作者: YUV420.COM
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 YUV420.COM !
评论
 上一篇
杜比AC3音频编码格式浅析 杜比AC3音频编码格式浅析
背景知乎看到有人提问Potplayer 安装后,缺少杜比AC3解码器,于是整理了一下相关技术文档,在此做个总结。 AAC & AC3 & E-AC-3AAC & AC3 & E-AC-3都是音频的编码方式。
2020-01-15
下一篇 
开源VR播放器解决方案调研整理 开源VR播放器解决方案调研整理
背景如何快速构建VR播放器 调研首选方案,寻找开源VR播放器。 移动平台Google VR SDK支持移动平台Android 和IOS,提供SDK供用户开发。Google单独分离出一个SDK,除了方便应用开发者之外,主要的目的是用来把VR的
2020-01-13
  目录