配置QT开发环境

windows下Eclipse:

一 准备工作

    1 Eclipse for c/c++(我使用的是eclipse-cpp-europa-fall2-win32,eclipse版本不能太旧,因为qt-eclipse-integration要求版本高于3.2.1。)

    2 MinGW(http://sourceforge.net/

    3 qt-win-opensource-4.3.3-mingw.exe(http://trolltech.com/developer/downloads/qt/windows

    4 qt-eclipse-integration-win32-1.0.1.exe(http://trolltech.com/developer/downloads/qt/eclipse-integration-download

 

    二 安装

    1 解压Eclipse到指定文件夹;

    2 安装MinGW,并设定其环境变量;

     3 安装QT,在安装过程中指定MinGW所在目录,安装过程中可能会因为版本的问题出现警告,忽略即可,完成后设置环境变量:

     PATH =c:/qt/bin(假设安装目录是c:/qt)
     QMAKESPEC=c:/qt/mkspecs/win32-g++
     QTDIR=c:/qt

    4 在命令行下进入QT安装目录,运行configure.exe进行平台设置,如果编译器使用MinGW,则可以使用命令configure.exe -platform win32-g++;如果是VC,则可以使用

configure.exe -platform (win32-msvc,win32-msvc2005,win32-msvc.net),根据你安装的版本情况选择括号内三者之一;然后仍在命令行下运行qtvars.bat compile_debug,以便生成Debug Libraries,这可能需要很长一段时间,生成1G多的文件;

   5 安装qt-eclipse-integration-win32-1.0.1.exe,过程中需要提供Eclipse和MinGW/bin的位置;

   6 启动Eclipse,完成。       

  三 启动Eclipse无法发现QT插件的可能原因

    当你按照上述过程完成后发现Eclipse启动时无法检测到QT插件,最可能的原因是你使用的Eclipse的workspace不对,因为QT的Eclipse插件配置和workspace的位置相关,该插件在第一次初始化时要求使用Eclipse的默认workspace位置,所以请修改workspace位置或者使用一个新的解压版  

 

  

QT4.3.3+VC6.0安装
A.    安装前的准备
检查你的QT4.3.3压缩包的位置,并解压。假设解压后的路径为F:/qt433,那么需要先设置环境变量,首先在“我的电脑”—“属性”---“高级”---环境变量---**的用户变量---新建,添加一个变量名为QTDIR 变量值为F:/qt433(注意:要对应qt解压后的路径),然后继续添加环境变量,变量名为QMAKESPEC,变量值为win32-msvc,在PATH变量中也应加入F:/qt433/bin.为安装好的qmake所在路径,使得命令行里面可以用qmake。
然后检查vc6.0是否安装好,假设安装后路径为F:/Program Files/Microsoft Visual Studio/……注意:安装时应选择
打开vc6.0检查一下: tools---options---directories,如果正常应该可以看到一下结果:


在目录(directories)里边应该自动添加了这么目录信息,并借检查环境变量里边也已经有了相应的环境变量。
B.    现在进行检查 并安装
打开命令提示符:cmd界面
输入 nmake,检查vc是否安装好 


cl  


然后是转到f盘下进入qt433目录执行
congfigure –debug-and-release,(这个作用是编译出 debug版本和release版本的qt的库,更多选项 可以用configure –help)
看到 

   
输入 y
Configure完了后输入nmake  开始编译qt,视机器情况大约安装两个小时左右。
 成功之后会有如下提示
  

Please enjoy !
C.    下面进行编译
我们就拿qt中文网上的一个高手的作品为例 作品为图片浏览器  我们把他做好的压缩包压缩到一个路径下 (注意:路径名最好不要有中文) 假设我们解压到F:/jjk/456下
里边已经有了pro文件。
两种编译方法:
第一种:纯命令式
在命令窗口中,转到F:/jjk/456路径下
先qmake(qmake会找 里面的pro文件 就是qt的工程文件)
我们看到qmake之后生成了debug和release目录和makefile、makefile.debug 和makefile.release文件  
 
图中选中的为qmake之后生成的文件
然后是nmake  

 
我们可以看到 在debug目录下已经有了很多文件 其中就有可执行文件qtimage.exe 就可以执行了
这就是执行的结果。

   
另外一种方法:在vc中编译
首先要用命令行根据pro文件生成vc的工程文件 dsp
F:〉jjk/456/ qmake  –t  vcapp
打开vc6.0
File----open ---从文件类型中选择projects(.dsp)
然后到那个路径下选中 QtImage.dsp 打开 build—rebuild all—build---execute qtimage.exe
THAT’S ALL!!!

vs2008

 

一. 下载QT. 设置系统变量 QT_HOME为Qt的根目录.例如:C:/Qt/2009.04/qt

二. 安装VS.

以上两步没啥好说的.

三. 编译本地Qt库. 不然你会出现找不到qmaind.lib文件这样的编译错误.

通过Visual Studio 2008 Command Prompt进入控制台.
一定要通过这个. 不能在运行里直接输入cmd进入. 这样的话是没有VC编译环境的.


在控制台里cd到QT目录, 目录里有个configure.exe
输入: configure -platform win32-msvc
需要一定的时间但来配置完成.

然后输入: nmake
然后要等很长时间等待Qt被编译成VC的lib格式.

四. 创建项目
在项目目录下:
控制台输入: qmake -project
然后: qmake -t vcapp -spec %QT_HOME%/mkspecs/win32-msvc2008
spec后面的项目可以看mkspecs目录下的子目录. win32-msvc2005, win32-msvn2003什么的都有.

然后就有VC的项目文件了.

五. Visual Studio中的配置
主要是qmake生成的项目配置中的qt路径有问题,所以要重新配置.
主要是两项:
1. include.

2. linker 配置

加载的lib


具体项目名称要看你编译出来的名字了. 我在我机器上编译出来的是QtGuid4.lib和QtCored4.lib
另外要想运行编译出来的exe, 记得吧相关的dll文件复制到system32目录下.

 

 

Linux:

 

1、配置GCC
  刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等好多必须的软件和头文件。

  sudo apt-get install build-essential

  安装完成后写一个C语言程序testc.c测试一下。

  #include<stdio.h>
  int main()
  {
  printf("Hello Ubuntu!/n");
  return 0;
  }


  $ gcc testc.c -o testc
  $ ./testc

  显示
  Hello Ubuntu!

  C语言编译器安装成功;

  2安装GTK环境
  安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如libglib2.0 -doc、libgtk2.0-doc帮助文档,devhelp帮助文档查看,glade-gnome、glade-common、glade-doc图 形界面设计等。

  sudo apt-get install gnome-core-devel
  sudo apt-get install libglib2.0-doc libgtk2.0-doc
  sudo apt-get install devhelp
  sudo apt-get install glade-gnome glade-common glade-doc

  安装完成后我们也同样做个测试程序

  #include<gtk/gtk.h>
  void hello(GtkWidget *widget,gpointer data)
  {
  g_print("Hello Ubuntu!/n");
  }
  gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
  {
  g_print ("delete event occurred/n");
  return(TRUE);
  }
  void destroy(GtkWidget *widget,gpointer data)
  {
  gtk_main_quit();
  }
  int main( int argc, char *argv[] )
  {
  GtkWidget *window;
  GtkWidget *button;
  gtk_init (&argc, &argv);
  window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
  gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  button = gtk_button_new_with_label ("Hello Ubuntu!");
  gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
  gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
  gtk_container_add (GTK_CONTAINER (window), button);
  gtk_widget_show (button);
  gtk_widget_show (window); /*显示一个窗口*/
  gtk_main(); /*进入主循环*/
  return(0);
  }

  用下面命令编译运行

  $ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
  $ ./gtktest

  会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello Ubuntu!

  3 QT
  QT我安装了

  libqt4-core
  qt4-designer
  qt4-dev-tools
  qt4-qtconfig
  libqt4-dev
  libqt4-gui libqt4-debug
  libqt4-sql

  这个我还没有怎么用过,在新立得里面搜索QT4,看着差不多的都装上了。

  5安装一个IDE
  Linux里面有个一个C C++的IDE 叫Geany,在菜单“应用程序”->“添加删除程序”,在里面program里找一下就可以了。

S60 Qt 开发环境配置指南
安装之前需要下载以下内容:

ActivePerl 5.10.1 这是目前最新版本,S60 SDK需要perl 5.6.1以上版本
http://www.activestate.com/activeperl/

JRE Java runtime, S60 SDK 需要1.5以上的版本,我一向觉得Java版本管理混乱,下载最近的就好了
http://www.java.com/zh_CN/download/manual.jsp

S60 5th SDK, 之所以选择第五版,是因为这是支持触摸操作的版本,现在触摸很流行嘛,另外就是我只在5800上成功地安装了QT程序,貌似S60 5.0以后的版本更可靠些。
http://www.forum.nokia.com/Technolog...ickStart.xhtml
Carbide 2.0的下载也在这里,不过下载需要你注册Forum Nokia的帐号,注册一个吧也不麻烦,以后去论坛问问题也用得到。

Qt 4.6 for Symbian,下载build好的 binary吧,简单些,源代码是不是真的能编译过,我不太确定,Windows/Linux的编译都很简单 S60 的我还没试过,再说编译QT要花很长时间的。
http://qt.nokia.com/developer/qt-4.6...ian-developers

安装顺序:
ActivePerl, JRE, S60 SDK, Carbide, Qt
注意看提示,Carbide安装完了之后,还要运行程序菜单里面的一个 bat的,用来配置环境变量,别忘了。

运行下S60 模拟器,试试看吧,应该是一个和5800差不多的界面,某些程序启动可能会报错,无视之,其实Nokia内部的模拟器更不稳定,习惯鸟。

写个程序看看?
先从普通的 S60程序开始吧,启动 Carbide ,File->New->Symbian c++ project,然后选Gui Application, 会生成一个最简单的Helloworld工程。
可能你会发现,Wizard运行完了,界面上什么都没发生,仍然是一个Welcome,别急,那是因为Welcome视图被最大化了,点右上角的 restore按钮就好了。

编译运行下吧,编译没通过?有可能,看log会发现是一个 Perl脚本的错误,导致Help编译失败,间接导致 cpp编译失败,因为少了个头文件。。。
这事儿真是脑残,囧,解决方法只能是吧 Help去掉了,打开Bld.inf 注释掉 help的 mk,cpp里和help有关的几行都注释掉,应该就可以了。

在模拟器的 application 文件夹下,应该可以看到Helloworld程序的,运行也应该没问题 ,只是显示了个 Note。
从开始下载,到现在,我整整用了4个小时了,还差最后一步,就是QT。

还是从 File->new开始,选择 Qt project,这个工程取名叫 QHelloWorld吧按照Wizard都选默认的就好,如果提示你没有指定Qt 版本就指定一下,其实就是告诉Carbide的安装目录,选择下bin的路径而已,Qt版本号用 4.6.0就行。

编译吧,应该会很顺利,qt没有help捣乱了。运行下看看吧,qt程序启动后什么都没有,就有个status pane?当然啦,默认的程序什么都没干嘛。
来,我们给它加点东西,现在连退出按钮都没有。。。只能按 红键 退出。
打开 Qhelloworld.ui 文件,会看到一个类似.Net 和 delphi的界面编辑器,从Windows->show view->other...里,把那几个qt的view找出来,重点是那个widgets box,然后就可以编辑UI了,先放一个 按钮上去吧,取名叫 exitButton.
然后 打开 Qhelloworld.h 添加
private slots:
void on_exitButton_clicked()
{
qApp->quit();
}
好了,这样QhelloWorld程序的界面上就会有一个 叫 exitButton的按钮,按一下就退出程序了。

好了,既然搞定了模拟器,下面就是要搞定手机了,毕竟手机程序很在硬件上跑起来才有意义。
首先,你需要一个 s60 5.0的手机,比如 5800 5530什么的,N97也行。
然后去 http://qt.nokia.com/phonedemos 这里下载一个 sis包,大约12Mb,手机下载太慢了,我是用笔记本下载,然后用蓝牙传到手机的。
安装这个 sis,会给你安装很多程序,无论问你什么都回答 yes ok就好了,相信吧,Qt和Nokia不会害你的。
这个 sis包括了,qt所需要的运行库和一些demo程序,有了这个,你自己的qt程序就可以在手机上跑了。

让Qt程序运行在手机上!
首先,我们需要编译 Qt程序的armv5版本,在 build config里选择 armv5 release,编不过?那是正常的,因为我们没有RVCT,这东西不免费而且很贵。。。
还是用 GCCE吧,性能差点,凑合了吧。但是没有 GCCE这个选项啊?是没有,我也没找到

解决这个问题,首先要确认你装了GCCE没有,在你的 S60 SDK安装目录下 epoc32/tools/distrib/ 找一个 叫 arm-none XXXXXX的文件,安装之。

我安装了还是没在Carbide看到 GCCE的选项啊,说实话,我也没看到。
于是,我关掉这个工程,重新import一次,注意在选择config的时候把下面的那个 filter去掉,就可以看到 gcce选项了。

下一步 做 sis包
比较简单,打开工程的Properties, 选择 build and configuration, 选择 gcce config, 选择 sis builder 页,点add 按钮添加,选一个pkg文件,QHelloworld.pkg,输入sis包的文件名,比如 qhelloworld.sis,其他都用默认就好了。然后 build,就可以生成 sisx文件了,这是签名的。

好了,装到手机里看看吧,反正我成功了,祝大家好运!
有什么问题 欢迎来信交流 yaodong1974 AT hotmail DOT com

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值