如何在macOS上使用qmake生成不含.app的二进制文件?
解决macOS下qmake生成单独二进制而非.app的问题
当然可以轻松实现!qmake默认在macOS平台会把构建产物打包成.app bundle,但只要在你的.pro文件里加一行配置就能改变这个行为。
关键配置步骤
- 在你的.pro文件中添加这一行,直接禁用app bundle的生成:
CONFIG -= app_bundle - 不管是纯C项目(未使用Qt框架)还是Qt项目,这个配置都适用——纯C项目一般用
TEMPLATE = app模板,加上上面那行就足够;Qt项目也不会因为这个配置影响库的正常链接。
示例.pro文件
TEMPLATE = app CONFIG += console c++17 CONFIG -= app_bundle # 核心配置:禁用.app打包 SOURCES += \ main.cpp # 有头文件或其他资源的话正常添加即可 HEADERS += \ utils.h
小提示
- 如果之前已经构建过项目,建议先清理构建目录(执行
make clean或者在Qt Creator中点击「清理项目」),再重新运行qmake和构建,避免旧的.app文件残留。 - 添加配置后,构建完成的二进制文件会直接输出到构建目录的根目录下,不用再去.app包的
Contents/MacOS文件夹里找了。
内容的提问来源于stack exchange,提问作者Nebulean
相关产品推荐
相关产品推荐

