天天看点

Qt在pro中设置运行时库MT、MTd、MD、MDd

Qt在pro中设置运行时库MT、MTd、MD、MDd,重点关注QMAKE_CFLAGS

多线程调试Dll (/MDd) 对应的是MD_DynamicDebug

多线程Dll (/MD) 对应的是MD_DynamicRelease

多线程(/MT) 对应的是MD_StaticRelease

多线程(/MTd)对应的是MD_StaticDebug

win32:CONFIG(debug, debug|release): {
    LIBS += -L$$QMAKE_SKIA_DIR/out/Debug-x64
    INCLUDEPATH += $$QMAKE_SKIA_DIR/out/Debug-x64
    DEPENDPATH += $$QMAKE_SKIA_DIR/out/Debug-x64
    QMAKE_CFLAGS_DEBUG += -MTd
    QMAKE_CXXFLAGS_DEBUG += -MTd
}
else:win32:CONFIG(release, debug|release): {
    LIBS += -L$$QMAKE_SKIA_DIR/out/Release-x64
    INCLUDEPATH += $$QMAKE_SKIA_DIR/out/Release-x64
    DEPENDPATH += $$QMAKE_SKIA_DIR/out/Release-x64
    #win32:QMAKE_CXXFLAGS += /MD
    QMAKE_CFLAGS_RELEASE += -MT
    QMAKE_CXXFLAGS_RELEASE += -MT
}
#定义编译选项
#QT_DEPRECATED_WARNINGS表示当Qt的某些功能被标记为过时的,那么编译器会发出警告
DEFINES += QT_DEPRECATED_WARNINGS
#指定编译器选项和项目配置
CONFIG  += c++11
CONFIG  += warn_on           #告诉qmake要把编译器设置为输出警告信息的
CONFIG  += precompile_header #可以在项目中使用预编译头文件的支持
#预编译头文件路径
PRECOMPILED_HEADER = $$PWD/stable.h
#disable C4819 warning
win32:QMAKE_CXXFLAGS_WARN_ON += -wd4819
win32:QMAKE_CXXFLAGS += /FS
#win32:QMAKE_CXXFLAGS += /utf-8
#避免VC编译器关于fopen等应使用fopen_s的安全警告
win32:DEFINES += _CRT_SECURE_NO_WARNINGS      

参考文献

https://blog.csdn.net/caoshangpa/article/details/51416077 https://doc.qt.io/qt-5/qmake-variable-reference.html

 Qt官网.pro文件的变量清单,多关注QMAKE_CXXFLAGS