Mac OS X下控制台执行qmake为什么不能生成Makefile

本文介绍如何在Mac环境下配置Qt编译环境,并通过设置环境变量和qmake.conf文件实现debug_and_release模式的编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完整的qmake语法是:

qmake ***/test.pro -spec macx-g++ -r CONFIG+=debug_and_release

    注意:主要是-spec macx-g++这个选项,为qmake指定编译环境,在Windows下可以增加一个QMAKESPEC的系统环境变量,值为win32-g++或者msvc2005等等,具体看编译器类型,在Mac下也可以这样做,省去每次qmake加选项的烦恼.具体的makespec取值看目录/usr/local/Qt4.4/mkspecs/下的目录名称,对应你的编译环境,以macx-g++为例,编辑~/.profile文件,如果没有则创建一个,加入一行:export QMAKESPEC=macx-g++,存盘重新打开控制台便可以了。

    但是此时仅仅使用qmake命令,虽然生成了一个Makefile,但并没有像Windows下那样同时产生Makefile.Debug、Makefile.Release文件和debug、release两个存放编译中间文件的目录,虽然此时可以make成功并产生目标程序,但中间文件都散落在源码目录中,比较难看,这就是后面这个参数CONFIG+=debug_and_release没有加上的原因,为了一劳永逸,在/usr/local/Qtx.x/mkspecs目录中找到对应的macx-g++目录,其中有一个文件叫qmake.conf,用文本编辑器打开,在其中的CONFIG+=这行中加入参数debug_and_release,重新qmake,搞定!

    我使用的是Qt for Mac的二进制安装包安装的Qt,据说利用源代码编译方式安装可以直接qmake,没有试过,但为何同样是二进制安装包,在macx-g++的qmake.conf的CONFIG中没有debug_and_release这一参数,而win32-g++中的qmake.conf却有,不得而知了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值