qt - qmake中如何检测当前项目是应用程序、共享库还是动态库?

标签 qt qmake

我有一个 .pri 文件,它可以包含在库项目和应用程序项目中。其中的一些详细信息取决于当前的构建类型(lib 或应用程序)。

检测当前项目是可执行文件、静态库还是动态库的推荐方法是什么?

最佳答案

What is the recommended way to detect if the current project is either an executable, a static library or a dynamic library?

捆绑的脚本会检查TEMPLATECONFIG变量。下面是执行此类测试的示例代码:

defineReplace(projectType) {
    contains(TEMPLATE, ".*lib") {
        CONFIG(shared, static|shared): return("dynlib")
        return("lib")
    }
    contains(TEMPLATE, ".*app"): return("app")
    return("other")
}

# example usage
prj = $$projectType()
equals(prj, "app"): message("Building the application")
else: message("Doing something different")

关于qt - qmake中如何检测当前项目是应用程序、共享库还是动态库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59368841/

相关文章:

c++ - QVector::replace() 是否创建深拷贝?

c++ - Qt-Signal 未在虚拟机中连接

c++ - 在 MSVC 中配置 Qt 项目设置

c++ - 可以在 .pro 文件中包含 C/C++ 头文件吗?

qt - C++ Qt - 如何将 "-std=c++11"添加到 qmake 生成的 makefile 中?

c++ - 如何在mingw中启用异常处理

c++ - Qt - 清理和重建后的 "This does not seem to be a debug build"

c++ - 如何获取QListView中选中行的索引或字符串?

linux - 用于嵌入式 Linux 的 Qt : Hide cursor on startup

qt - 如何在 QMake .pro 文件中指定不同的调试/发布输出目录