mac 搭建QT环境

2 篇文章 0 订阅

 一直在windows/linux下做QT开发,今儿个体验下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/app.rc
}else{
    ICON = ico/app.icns
}

 

6.3 跨平台UI

在MAC下重新编译QT项目,一行代码都不用修改。界面效果对比:

windows:

 

mac:

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值