MAC 搭建QT环境

 一直在windows/linux下做QT开发,现在终于有了MAC,迫不及待的试下QT的跨平台性,体验下MAC界面的酷炫。

一. 下载QT5 for mac 

图形化界面,点击下一步。

二. 配置环境变量

依旧更新~/.bash_profile文件,默认情况下该文件不存在。这与linux基本上一致。

vi ~/.bash_profile
export QTDIR=/Users/my/Qt5.7.0/5.7/clang_64
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH
source ~/.bash_profile

运行qmake,打印帮助信息。至此QT配置成功。

lingdeMacBook-Pro:mac lingsun$ qmake -v
QMake version 3.0
Using Qt version 5.7.0 in /Users/my/Qt5.7.0/5.7/clang_64/lib

三. 测试

进行QT Example目录,随便找个工程编译下。

cd /Users/my/Qt5.7.0/Examples/Qt-5.7/charts/areachart #柱状图示例
qmake #生成makefile
make

 执行报错:

Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.

stackoverflow 搜索到的解决方案,亲测可行:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/ #指定xcode路径
sudo xcodebuild -license #同意license

编译仍然报上述错误,修改default_pre.prf定位到出错行L15。

vi /Users/my/Qt5.7.0/5.7/clang_64/mkspecs/features/mac/default_pre.prf

isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))

替换为:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

apple认为GCC太过于庞大,而使用的是自家开发的clang编译器。

重新编译,在当前目录生成 areachart.app。

open -a areachart.app #执行程序

运行结果:

 

四. QtCreator

QtCreator需设置QT版本,编译器等参数。

 

 五. xcode 

mac上有xcode如此高大上的IDE,怎能弃之不用呢。可用qmake生成xcode工程。

lingdeMacBook-Pro:~ lingsun$ qmake -project		#生成pro
lingdeMacBook-Pro:~ lingsun$ qmake -spec macx-xcode	#生成xcode工程
lingdeMacBook-Pro:~ lingsun$ open widget.xcodeproj      #打开xcode工程

编译效果:

六. 注意事项

6.1 中文乱码

windows下源码文件以GBK方式编码,中文在MAC下显示会有乱码出现,将源码保存为UTF-8,重新编译中文能正常显示。 

6.2 程序图标

app 图标在不同平台下设置不同,MAC下显示ICON字段,指定*.icns图片,MAC向来特立特行,连图片都跟其它平台不同。icns图片可通过 iconutil 命令生成。 

win32{
    RC_FILE = ico/online.rc
}else{
    ICON = ico/app.icns
}

6.3 跨平台UI

在MAC下重新编译QT项目,一句代码都不用修改,编译一切正常。

windows:

 

 MAC:

猜你喜欢

转载自tcspecial.iteye.com/blog/2346792