QT Linux Demo程序编译
我手上的qt源码包为:qt-everywhere-opensource-src-4.7.0.tar.gz
在Linux下编译比较容易,解压后直接 ./configure,一般会报缺少什么库这些。自己遇到缺什么酒安装什么,我这个fedora里面安装了比较多的库这些吧。configure一次通过。
然后是make;make install
至于configure选项这些就自己 ./configure --help去看了。
我这里保持的都是默认安装的。
接下来就是在qt库的基础上写代码了;
这里以load一个网页为例:
- //webkit.pro :
- QT += webkit gui core
- TARGET = webkit
- TEMPLATE = app
- SOURCES+= widget.cpp main.cpp
- HEADERS+= widget.h
- //main.cpp
- #include <QtGui/QApplication>
- #include "widget.h"
- int main(int argc , char *argv[])
- {
- QApplication a(argc,argv);
- Widget widget;
- widget.show();
- return a.exec();
- }
- //widget.h
- #include <QDebug>
- #include <QWebView>
- #include <QWidget>
- class Widget: public QWidget
- {
- Q_OBJECT
- public:
- Widget(QWidget *parent = 0);
- ~Widget();
- void load();
- private:
- QWebView *webview;
- };
- //widget.cpp
- #include "widget.h"
- #include <QStringList>
- #include <QCoreApplication>
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- {
- resize(500,500);
- webview = new QWebView(this);
- load();
- }
- void Widget::load()
- {
- QStringList arg=QCoreApplication::arguments();
- if(arg.count()>1)
- {
- webview->load(QUrl(arg.last()));
- }else{
- webview->load(QUrl("http://www.baidu.com/"));
- }
- }
- Widget::~Widget()
- {
- }
然后就是编译该程序了
我自己用的编译脚本:
- #!/bin/sh
- cd /home/wangwei/qt/qt-everywhere-opensource-src-4.7.0/demos/demo
- export QT4DIR=/home/wangwei/qt/qt-everywhere-opensource-src-4.7.0
- $QT4DIR/bin/qmake -o makefile webkit.pro
- make clean
- make
这里面的demo文件夹就是上面几个文件存放的位置。
我这里表现正常,能够生成webkit文件。并且在fedora12下运行正常。
ps:刚刚学这个,记录下来,方便以后看。
http://blog.csdn.net/wangwei890702/article/details/8679976
QT Linux Demo程序编译的更多相关文章
- RPi:QT+wiringPi demo程序
一个项目里面要用到这玩意儿,网上查了几篇文章凑出来最后还是不行,自己灵机一动就成了. 今天再次搜索的时候,发现另一篇文章已经讲明白了,真是欲哭无泪 程序大部分参考的是之前学qt的摸索出来的,其实只要在 ...
- linux下程序编译出错解决方法
一 *** No rule to make target 'subscribe_pkg/CMakeFiles/subscribe_pkg_node.dir/build'. 停止.CMakeFiles/ ...
- linux信号程序编译遇到的问题
如果把这个去掉-std=c99就会运行通过 还有一点就是 for(int i=0;i<n;i++) 在循环里声明变量仅被用在c99里面.也就是要想在循环里面声明变量,就必须使用-std=c99
- linux下Qt程序编译运行
Qt程序编译运行很简单,利用Qt提供的qmake工具可以很好的进行编译,在命令行输入一下编译过程:qmake -project //声称项目文件(*.pro)qmake ...
- Linux下静态编译Qt
Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所 ...
- Linux C程序的编译过程
Linux C程序的编译过程 学习一门语言程序,本人觉得还是得学习它的编译规则,现在,通过小例子小结下自己对C编译的认识. /*test.c 了解C程序的编译*/ #include <s ...
- 在linux环境下编译运行OpenCV程序的两种方法
原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之 ...
- slickedit编译调试linux应用程序
目录 slickedit编译调试linux应用程序 工程建立 编译 智能报错跳转 配置编译环境 调试 title: slickedit编译调试linux应用程序 date: 2019/3/19 17: ...
- Linux源码编译安装程序
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
随机推荐
- 批量杀死MySQL连接的几种方法
法一: 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令. mysql> select ...
- USB 3.0规范中译本 第1章 引言
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 1.1 动机(Motivation) Universal Serial Bus (USB) 的原始动机来自于 ...
- [Angular] Router outlet events
For example, we have a component which just simply render router-outlet: import { Component } from ' ...
- Android JNI编程(五)——C语言的静态内存分配、动态内存分配、动态创建数组
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:什么是静态内存什么又是动态内存呢? 静态内存:是指在程序开始运行时由编译 ...
- 【前端统计图】echarts实现简单柱状图
图片.png <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- 【u018】电车
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道 ...
- Android组件——使用DrawerLayout仿网易新闻v4.4侧滑菜单
摘要: 转载请注明出处:http://blog.csdn.net/allen315410/article/details/42914501 概述 今天这篇博客将记录一些关于DrawerL ...
- Java 类锁、对象锁、私有锁
3.6 Java类锁.对象锁.私有锁.隐式锁 类锁和对象锁是否会冲突?对象锁和私有锁是否会冲突?通过实例来进行说明. 一.相关约定 为了明确后文的描述,先对本文涉及到的锁的相关定义作如下约定: 1. ...
- 一入Python深似海--print
先给大家来个干货^~^,学习Python的一个好站点,http://learnpythonthehardway.org/book/ 经典样例 以下是几个老经典的样例喽,刚接触Python的能够敲一敲, ...
- 【u109】数字生成游戏(gen)
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 小明完成了这样一个数字生成游戏,对于一个不包含0的数字s来说,有以下3种生成新的数的规则: 1. 将s ...