在mac os x上编译QT4的感触
1,QT是什么东西
http://en.wikipedia.org/wiki/Qt_(toolkit)
2,我为什么要编译QT?
肇始于qmake,qt包里的一个小工具而已
3,过程
1)下载qt包,我用的版本是“qt-mac-opensource-src-4.5.0.tar.gz”,我是用macport下载的,命令port install qt-mac(其实本可以直接这样安装,一来慢,二来我想自己试试,;));
2)解压缩到/目录,cd到目录/qt-mac-opensource-src-4.5.0/,执行./configure(大约5~6分钟),执行make(漫长的等待,一个通宵吧,反正它在哪里安装,我睡觉,也不知道什么时候装完的 ;));
3)make之后,基本上都装完了(目前,我认为是),文档说,该qt库默认安装在/usr/local/Trolltech/Qt-4.5.0下,很遗
憾,我的不是(基本上在mac上安装软件没有一次成功的,尤其是mac os
x,那个烦啊!),浏览目录之后,发现在安装文件(也就是编译库的root目录)目录下,有个bin目录,用我那点仅存的linux知识,知道这里应该实
用程序所在地了,有点高兴,然后,将这个目录放在了bash的profile文件中的path变量中,然后回到terminal测试qmake,好,认出
来了,然后……
4)进入我要编译的一个开源包目录,cd进去之后,看到一个.pro文件(其实这才知道这是qmake的输入文件,惭愧啊),键入qmake,晕,又是错误:MAKESPEC has not been set, so configuration cannot be deduced.
5)唉,我以无比的毅力,发誓一定要解决这个问题(为什么?因为这不是第一次被mac欺负了!!),google it……
6)半个小时过去之后,有一个靠谱的回答:
“ Try running 'assistant' before posing such a simple question.
Depending on your shell, you need to do something like
export QMAKESPEC=freebsd-g++ ”
说咱蠢一点都不假,最基本的东西都不会,最基本的解决问题的方式都不会,唉,可悲啊
不过,好在咱会google,一笑,好了,就尝试一下这个方法了
将语句:export QMAKESPEC=acx-g++ 加入到profile中之后……
7)问题又来了:
“ Could not find mkspecs for your QMAKESPEC(macx-g++) after trying:
/usr/local/Trolltech/Qt-4.5.0/mkspecs ”
8)看来不是咱蠢,是因为咱知识积累不够,解决方法不正确,也就是说我根本没有理解什么是qt,怎样用qmake,唉,不管了,都到
这一步了,就硬着头皮上吧!
看到这一句话,我就想到了是不是qmake内部要求的这个默认目录呢?好,试试,将刚才编译好的文件目录,也就是:
“qt-mac-opensource-src-4.5.0”下的所有文件都拷贝到目录 "/usr/local/Trolltech/Qt-4.5.0/"下,命令也是现学的(:)),
" cp -R /qt-mac-opensource-src-4.5.0/* /usr/local/Trolltech/Qt-4.5.0/"
9)嘿嘿,结果呢,你能猜到的,哈哈,成了……
10)回顾以上过程,绝对不是一个正确的解决问题的过程,但是在较短的时间内(半天),要获得自己想要的东西(qmake),
也许只能这样走了,以后有时间可能会理解一下这些东西是干啥的!自勉。
学问--玉蕴珠藏