我手上的qt源码包为:qt-everywhere-opensource-src-4.7.0.tar.gz

Linux下编译比较容易,解压后直接 ./configure,一般会报缺少什么库这些。自己遇到缺什么酒安装什么,我这个fedora里面安装了比较多的库这些吧。configure一次通过。

然后是make;make install

至于configure选项这些就自己 ./configure --help去看了。

我这里保持的都是默认安装的。

接下来就是在qt库的基础上写代码了;

这里以load一个网页为例:

  1. //webkit.pro  :
  2. QT += webkit gui core
  3. TARGET = webkit
  4. TEMPLATE = app
  5. SOURCES+= widget.cpp    main.cpp
  6. HEADERS+=   widget.h
  7. //main.cpp
  8. #include <QtGui/QApplication>
  9. #include "widget.h"
  10. int main(int argc , char *argv[])
  11. {
  12. QApplication a(argc,argv);
  13. Widget widget;
  14. widget.show();
  15. return a.exec();
  16. }
  17. //widget.h
  18. #include <QDebug>
  19. #include <QWebView>
  20. #include <QWidget>
  21. class Widget: public QWidget
  22. {
  23. Q_OBJECT
  24. public:
  25. Widget(QWidget *parent = 0);
  26. ~Widget();
  27. void load();
  28. private:
  29. QWebView *webview;
  30. };
  31. //widget.cpp
  32. #include "widget.h"
  33. #include <QStringList>
  34. #include <QCoreApplication>
  35. Widget::Widget(QWidget *parent)
  36. : QWidget(parent)
  37. {
  38. resize(500,500);
  39. webview = new QWebView(this);
  40. load();
  41. }
  42. void Widget::load()
  43. {
  44. QStringList arg=QCoreApplication::arguments();
  45. if(arg.count()>1)
  46. {
  47. webview->load(QUrl(arg.last()));
  48. }else{
  49. webview->load(QUrl("http://www.baidu.com/"));
  50. }
  51. }
  52. Widget::~Widget()
  53. {
  54. }

然后就是编译该程序了

我自己用的编译脚本:

  1. #!/bin/sh
  2. cd /home/wangwei/qt/qt-everywhere-opensource-src-4.7.0/demos/demo
  3. export QT4DIR=/home/wangwei/qt/qt-everywhere-opensource-src-4.7.0
  4. $QT4DIR/bin/qmake -o makefile webkit.pro
  5. make clean
  6. make

这里面的demo文件夹就是上面几个文件存放的位置。

我这里表现正常,能够生成webkit文件。并且在fedora12下运行正常。

ps:刚刚学这个,记录下来,方便以后看。

http://blog.csdn.net/wangwei890702/article/details/8679976

QT Linux Demo程序编译的更多相关文章

  1. RPi:QT+wiringPi demo程序

    一个项目里面要用到这玩意儿,网上查了几篇文章凑出来最后还是不行,自己灵机一动就成了. 今天再次搜索的时候,发现另一篇文章已经讲明白了,真是欲哭无泪 程序大部分参考的是之前学qt的摸索出来的,其实只要在 ...

  2. linux下程序编译出错解决方法

    一 *** No rule to make target 'subscribe_pkg/CMakeFiles/subscribe_pkg_node.dir/build'. 停止.CMakeFiles/ ...

  3. linux信号程序编译遇到的问题

    如果把这个去掉-std=c99就会运行通过 还有一点就是 for(int i=0;i<n;i++) 在循环里声明变量仅被用在c99里面.也就是要想在循环里面声明变量,就必须使用-std=c99

  4. linux下Qt程序编译运行

    Qt程序编译运行很简单,利用Qt提供的qmake工具可以很好的进行编译,在命令行输入一下编译过程:qmake -project    //声称项目文件(*.pro)qmake              ...

  5. Linux下静态编译Qt

    Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所 ...

  6. Linux C程序的编译过程

    Linux C程序的编译过程 学习一门语言程序,本人觉得还是得学习它的编译规则,现在,通过小例子小结下自己对C编译的认识. /*test.c     了解C程序的编译*/ #include <s ...

  7. 在linux环境下编译运行OpenCV程序的两种方法

    原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之 ...

  8. slickedit编译调试linux应用程序

    目录 slickedit编译调试linux应用程序 工程建立 编译 智能报错跳转 配置编译环境 调试 title: slickedit编译调试linux应用程序 date: 2019/3/19 17: ...

  9. Linux源码编译安装程序

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

随机推荐

  1. Hibernate的ID主键生成策略

    ID生成策略(一) 通过XML配置实现ID自己主动生成(測试uuid和native) 之前我们讲了除了通过注解的方式来创建一个持久化bean外.也能够在须要持久化的bean的包路径下创建一个与bean ...

  2. js对时间的操作相关

    摘自网络,我主要用了日期增加若干天之后获得的日期,就是现在是5月2号,我增加30天,应该返回6月几号来着,就是这个意思 用到了Date.prototype.DateAdd 方法,prototype的意 ...

  3. [tmux] Organize your terminal using tmux panes

    Learn to organize your workspace using tmux. We'll create a new tmux session and learn how to create ...

  4. protobuf入门教程

    1.简介和安装 2.消息类型 3.proto3 与 proto2 的区别 4.常用序列化/反序列化接口 5.repeated限定修饰符 6.枚举(enum).包(package) 7.导入定义(imp ...

  5. window对象属性alert、confirm、prompt怎么使用?

    window对象属性alert.confirm.prompt怎么使用? 一.总结 1.参数依次复杂,返回值依次复杂,但是感觉都是一一继承的,所以很好想也很好写. 二.window对象alert.con ...

  6. 后台返回的HTML整个页面代码打开方法

    后台返回的html代码片段,需要插入html标签中,而返回的整个html文档,则需要重写整个页面. 解决方法: 需要一个中转页面,用document.write()方法重写整个页面: // POST任 ...

  7. 一小时内破解16位强password

    password能够用来保护你的金融交易.你的社交网络站点,和其它貌似安全的在线站点的主机.人们常常说:"不要把字典里的单词用来做password.它们超级不安全". 但是,要是黑 ...

  8. sparksql jdbc数据源

    用的本地模式,pom.xml中添加了mysql驱动包,mysql已经开启,写入的时候发现用format("jdbc").save()的方式发现会有does not allow cr ...

  9. Cordova各种事件

    原文:Cordova各种事件 Cordova事件 Cordova框架了一组事件,开发者用来对某些运行Cordova应用的设备上的事件作出反应.事件处理的一种情况是硬件相关活动,如电池状态变化或用户按了 ...

  10. 【Codeforces Round #438 A】Bark to Unlock

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] 枚举它是在连接处,还是就是整个字符串就好. [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc+ ...