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

完整的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却有,不得而知了。

你可能感兴趣的:(windows,OS,qt,makefile,编译器,文本编辑)