我手上的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. SQLite单表4亿订单,大数据测试

    [转载] SQLite单表4亿订单,大数据测试 http://www.cnblogs.com/nnhy/p/BigData.html

  2. Git使用经验小结

    2012春,开始正式使用SVN,2014年9月加入一起好后,开始使用Git.  有了一些使用经验,也看了下网上关于"Git全胜SVN"的言论. 结合自己的实际情况,简要写几句: 1 ...

  3. 于 Android NDK 的学习之旅-----数据传输(基本数据类型和数组传输)

    之前的一些文章都有涉及到上层和中间层的数据传输,简单来说,也就是参数和返回值的使用.因为中间层要做的最多的也就是数据传输与转换,下面来介绍下这方面的知识. 数据传输可分为 基本数据类型传输 和 引用数 ...

  4. phpStudy的localhost不能访问怎么解决(相关性)

    phpStudy的localhost不能访问怎么解决(相关性) 一.总结 1.注释掉httpd.conf文件中的#ServerName localhost:80   这句话. 2.既然是localho ...

  5. 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(2)准备知识

    一.变量为什么必须初始化? 在回答这个问题之前,我们先来运行一段代码: #include <stdio.h> int main(){ int i; printf("i=%d\n& ...

  6. 虚拟机的ip网络设置的选择

    首先看一下vm的这几个设置 通过截图可以基本看到几个网络设置的区别,具体体现在虚拟机装好以后,网络设置会多出两个适配器,不同模式会分配不同区段的ip,需要固定时主要区段要求 所以总结一下 1.桥连,适 ...

  7. radio实现第一次点击选中第二次点击取消

    Jquery代码如下: $("#add_form .radio input").bind("click",function(){ var $radio = $( ...

  8. 【21.28%】【codeforces 707D】Persistent Bookcase

    time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...

  9. Xcode7.1 网络请求报错

    The resource could not be loaded because the App Transport Security policy reguir 原因:iOS9引入了新特性App T ...

  10. yii2.0获取最后一条ID

    $r_id=Yii::$app->db->getLastInsertID();