当前位置: 澳门新濠3559 > 操作系统 > 正文

GTK及最基本的Linux应用更适合开发一些补丁性的小

时间:2019-12-26 00:20来源:操作系统
一、SIP 有个别角度上说,kindle很接近android,相通的Linux内核,相仿的Java客户层。可是kindle更注重轻松、节约财富、稳固。亚马逊一直认为,作用过多会分散大家阅读时候的集中力。 Ki

图片 1

一、SIP

有个别角度上说,kindle很接近android,相通的Linux内核,相仿的Java客户层。可是kindle更注重轻松、节约财富、稳固。亚马逊一直认为,作用过多会分散大家阅读时候的集中力。
Kindle底层的Linux比Android保持了越多的linux包容性,可以行使GTK可能QT编写程序。QT切合编写大的、独占分界面性的行使,举例多看就已经表露过二个Kindle之上的版本,未来还有不菲人用,缺憾因为公司战术调度的来头,这一个付加物被扬弃了。GTK及最核心的Linux应用更相符开拓一些补丁性的小程序,来补偿Kindle的基本效率。在Ubuntu上搭建kindle的gtk开拓景况极其轻松,只供给一条命令:

sudo apt-get install pkg-config gcc-arm-linux-gnueabi libgtk2.0-dev

 

任何时候大家来写二个hello world来注明效能:(文件名:testGtk.c卡塔尔国

二、Centos6.5 qt 安装

#include <gtk/gtk.h>

static void hello( GtkWidget *widget,gpointer data ) {
    gtk_main_quit ();
}

static gboolean delete_event( GtkWidget *widget, GdkEvent  *event, gpointer   data ) {
    g_print ("delete event occurredn");
    return FALSE; // we do want to quit
}

static 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);
    g_signal_connect (window, "delete-event", G_CALLBACK (delete_event), NULL);
    g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    button = gtk_button_new_with_label ("Hello World");
    g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL);
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_window_set_title ( GTK_WINDOW(window) , "L:A_N:application_ID:test");
    gtk_widget_show_all (window);

    gtk_main ();
    return 0;
}

1,centos linux系统必需优先以安装x Server(KDE or GNOME卡塔尔(英语:State of Qatar)

紧接着先在桌面Linux计算机上编写翻译来试一下:

2,wget   (软件包下载链接卡塔尔(英语:State of Qatar)

gcc -o testGtk testGtk.c `pkg-config gtk+-2.0 --cflags --libs`

   (软件介质参谋链接)

在微电脑上推行./testGtk,能够看来结果正确。
陆续编写翻译kindle的版本则绝比较较复杂,大家照旧平素写二个Makefile吧,幸免手工业输入太长轻便失误,同时Makefile中也加码了macos的编写翻译部分。gtk即便看上去很陈旧、落伍,不过跨平台用起来,其实比好些个主流应用还要流畅。

图片 2

GCC=gcc
ARMGCC=arm-linux-gnueabi-gcc
ARMLIBS=`pkg-config gtk+-2.0 --cflags` -L/usr/arm-linux-gnueabi/lib/ -L/home/andrew/dev/kindleLib/ -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng12 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0

keys = testKindleGtk

all:$(keys) $(objs)


testKindleGtk:testGtk.c
    $(ARMGCC) -o testKindleGtk testGtk.c $(ARMLIBS)

x86:
    gcc -o testGtk testGtk.c `pkg-config gtk+-2.0 --cflags --libs` 
osx:
    export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig && gcc -o testGtk testGtk.c `pkg-config gtk+-2.0 --cflags --libs` 
clean:
    rm $(keys) testGtk

3,难题消除

花色的源码已经上盛传github,有意思味的能够下载试试。
唉。。。不佳意思,原谅自身把最重大的放置最后说,在kindle上测量检验这么些程序,必要越狱kindle,在KPW2之间的本子,在网上寻找,有软件的章程越狱。之后的版本就百废待举了,恐怕还亟需拆机引串口线的艺术。
但是总感觉kindle的越狱依然很有含义的,首借使原生系统对于纯文本的制版水平实在太差,小编就是越狱后装了再也见不到履新的多看系统。

Error during installation process (qt.54.gcc_64):
Execution failed(Unexpected exit code: 1): "/opt/Qt5.4.0//Tools/QtCreator/bin/sdktool addQt --id qt.54.gcc_64 --name Qt %{Qt:Version} GCC 64bit --type Qt4ProjectManager.QtVersion.Desktop --qmake /opt/Qt5.4.0/5.4/gcc_64/bin/qmake"

 

图片 3

图片 4

图片 5

Error during installation process (qt.54.gcc_64):
Execution failed(Unexpected exit code: 1): "/opt/Qt5.4.0//Tools/QtCreator/bin/sdktool addQt --id qt.54.gcc_64 --name Qt %{Qt:Version} GCC 64bit --type Qt4ProjectManager.QtVersion.Desktop --qmake /opt/Qt5.4.0/5.4/gcc_64/bin/qmake"

图片 6

能够看出未有GLIBCXX_3.4.15以此本子,下载多少个新本子

http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_i386.deb

 4.解压文件

ar -x libstdc++6_4.7.2-5_i386.deb
tar -zxvf data.tar.gz

 出现usr文件夹。进入usr/lib/i386-linux-gnu目录

cd usr/lib/i386-linux-gnu

5.将libstdc++.so.6.0.17文件复制到 /usr/lib 文件夹下边

sudo cp libstdc++.so.6.0.17 /usr/lib

 6.进来/usr/lib文件夹下,建设构造新的软链接

sudo ln -sf libstdc++.so.6.0.17 libstdc++.so.6

 7.再查看叁次

strings /usr/lib/libstdc++.so.6 | grep GLIBC

 图片 7

 

重在在“qmake” is missing from my PATH错误消除

 

三、安装完Qt5之后,再安装PyQt5:

python configure.py --qmake /usr/local/Cellar/qt5/5.3.1/bin/qmake

make

make install

 

 

参考:

PyQt:

 

 

 

 

MD5 sums

[Qt Android and iOS for Mac OS X

  • Requires Android and iOS license.]()

Qt Android for Linux 64-bit

Qt Android for Mac OS X

Qt Android for Windows 32-bit

Qt for Linux 64-bit

Qt for Mac OS X

Qt for Windows MinGW 4.9.2

Qt for Windows MSVC2013 32-bit

Qt for Windows MSVC2013 64-bit

Qt for Windows MSVC2015 32-bit

Qt for Windows MSVC2015 64-bit

Qt Source Package, Full Framework with UNIX style line endings

Qt Source Package, Full Framework with Windows style line endings

Qt WinRT MSVC2013 for Windows

Qt WinRT MSVC2015 for Windows

 

1.下载QT5 SDK

下载地址:

2.安装QT5

下载完后,假若放在Download/,切换来该目录,输入:./qt-linux-opensource-5.0.0-x86-offline.run运转;

并发以下错误:./qt-linux-opensource-5.0.0-x86-offline.run: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./qt-linux-opensource-5.0.0-x86-offline.run)

3.缓和错误

并发该错误的缘由是当下的GCC版本中,未有GLIBCXX_3.4.15,须求安装更加高版本。

咱俩得以输入:strings /usr/lib/libstdc++.so.6 | grep GLIBCXX,查看当前的GCC版本,结果如下:

GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBC_2.0 GLIBC_2.3 GLIBC_2.4 GLIBC_2.1 GLIBC_2.1.3 GLIBC_2.3.2 GLIBC_2.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH

足见没有GLIBCXX_3.4.15.

下载新本子,地址:

后生可畏旦下载的公文放在Download/。

解压:ar -x libstdc++6_4.7.2-5_i386.deb && tar xvf data.tar.gz

解压后现身Download/usr目录;

1)cd Download/usr/lib/i380-linux-gun

2) su root

3) cp libstdc++.so.6.0.17 /usr/lib

4) cd /usr/lib

5) rm libstdc++.so.6

6卡塔尔(قطر‎ ln libstdc++.so.6.0.17 libstdc++.so.6重新创设软连接

此刻,我们再输入:strings /usr/lib/libstdc++.so.6 | grep GLIBCXX,结果为:

GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_DEBUG_MESSAGE_LENGTH

看,GLIBCXX_3.4.15已经有了!

  1. 重新切换成Download就可以运营安装QT5了!Good luck~

末段附图一张~

图片 8

 

 

 

 

 

 

 

 

 

Linux系统下Qt境况搭建 

一。安装G++环境
 sudo apt-get install build-essential 
此外的片段有关条件。假如不设置,一些qt的组件是爱莫能助寻常编写翻译的,比如openGL
 sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev 
 
二。解压代码
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
解压完进入解压后的源代码文件夹
三、执行./configure生成makefile
./configure -prefix /usr/local/Qt-4.8.2
(上面点名的那么些目录/usr/local/Qt-4.8.2 ,正是make install 后的安装目录卡塔尔(英语:State of Qatar)
下边现身对话框选用open source edition.那是自由版。输入yes采取公约。
(1卡塔尔国借让你的机械各个库文件完整,经过一小会,配置达成,会并发以下新闻
              Qt  is now configured for building ,just run 'make'
              Once everything is built , you must run 'make  install'
              Qt will be installed into /usr/local/Qt-4.8.2
              To  reconfigure ,run 'make confclean' and 'configure'
注脚Makefile文件生成成功
(2卡塔尔(英语:State of Qatar)如若现身以下消息
        Basic XLib functionality test failed!
        You might need to modify the include and library search paths by editing
        QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++
        仍旧老艺术,以不改变应万变。进config.test/x11/xlib 实践make命令,看出错音讯
        g++ -Wl,-O1 -o xlib xlib.o    -L/usr/X11R6/lib -lXext -lX11 -lm
        /usr/bin/ld: cannot find -lXext
        看到了呢,g++在/usr/X11Odyssey6/lib下,找不到libXext.so呢。
        其缘由就在于供给安装libX11的开荒包,在Ubuntu/debian里包名都以libX11-dev
        根据现在的经历,在./configure前主动装好下边3个包,基本上就顺遂了
        sudo apt-get install libX11-dev libXext-dev libXtst-dev
设置所需到包后再重新./configure就可以生成Makefile文件

只要现身:Project E福特ExplorerROF12berlinetta: Package gstreamer-app-0.10 not found,则实践以下命令
apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev尽管现身 : g++: error: unrecognized command line option ‘-fuse-ld=gold’

这是Qt的一个bug:

在享有gold linker的种类里,编写翻译脚本会参与-fuse-ld=gold选项,但那些选项gcc是不协理的。清除办法是移除该选拔,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。

#  
 QMAKE_LFLAGS+=-fuse-ld=gold

四、编译QT
执行make命令,需要2个小时。
五、安装QT
运维sudo make install命令。供给几分钟时间,私下认可安装到/usr/local/Qt-4.8.2. 运转/usr/local/Qt-4.5.3/bin/designer ,若能运营QT,表明QT已经安装好了。
六、设置境遇变量
转移客户情状变量
gedit  /home/username/.bashrc
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
纠正包涵root顾客的情状变量
sudo gedit /etc/profile  (此处profile文件要转移一下放权力力手艺写入卡塔尔国
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
七、测量试验景况变量
重启测量试验意况变量:
qmake -v
来得版本消息:
QMake version 2.01a
Using Qt version 4.8.2 in /usr/local/Qt-4.8.2/lib
which qmake
彰显安装地点音信:
/usr/local/Trolltech/Qt-4.8.2/bin/qmake
意况变量设置成功。

代码:
假设急需在Qt中援用其余的包以致库文件,则动用:
INCLUDEPATH += /usr/local/include/
INCLUDEPATH += /usr/local/include/Eigen
INCLUDEPATH += /usr/local/include/boost
INCLUDEPATH += /usr/local/include/CGAL

LIBS += -L/usr/local/lib/ -lgmp
LIBS += -L/usr/local/lib/ -lmpfr
中间LIBS参数中 -l后只好接特定某三个库文件,且只要该公文为 “libxxx.so“,则-l后只接"xxx"。

推荐介绍阅读:

Linux下为刚安装好的Qt Creator 成立桌面运转Logo 

Ubuntu 11.04安装QT Creator 2.5.0 

Qt creator for PlayBook安装进程 

 

 

 

 

 

 

 

 

 

 

 

 

Ubuntu 14.04下安装配置Qt5费用条件

虽说Qt时运不济,可是也阻挡不住技师对它的热爱。经历了一文山会海曲折之后,未来到在芬兰共和国信用合作社Digia手中,Qt又将迎来叁个提升。Qt5便是在这里种景况之下公布的。今后Ubuntu刚好宣布了14.04版,作者就在此个条件下品尝配置Qt5的支出情状,并记录下来,给有相近必要的相恋的人当作参谋。

Ubuntu 意况下Gtk与QT编写翻译碰着设置与布局 

Linux系统下QT情况搭建 

Ubuntu下QT调整台程序不能运维的施工方案以致XTerm的陈设格局 

Ubuntu 10.04下QT4.7.4移植详明 

Ubuntu 14.04 下载、安装、配置的相关知识 

Ubuntu 14.04系统下载地址

Windows 7下硬盘安装Ubuntu 14.04图像和文字化教育程 

1. 只要要利用Qt的商业版,须求向Digia集团()购买授权,不过用于学习目的,大家能够筛选LGPL授权版本,下载地址为:。小编这里下载的是”Qt 5.0.2 for Linux 32-bit”版本,文件名是”qt-linux-opensource-5.0.2-x86-offline.run”。

  1. 跻身下载目录,在Ubuntu终端上边实践上面包车型地铁话语,不必要root权限:

    ./qt-linux-opensource-5.0.2-x86-offline.run

  2. 接下去就能够现出Qt安装对话框,点击”next”实施下一步:

图片 9

4. 接下去选取设置地方。因为使用的不是root权限,所以提出设置在顾客目录下:

图片 10

  1. 分选要求安装的组件,那些依据要求选择就足以了:

图片 11

  1. 选拔LGPL许可合同:

图片 12

  1. 点击”Install”起头安装:

图片 13

  1. 耐性等待安装完结:

图片 14

  1. 点击”Finish”实现安装:

图片 15

  1. 运作Qt Creator,我们开采已是简体汉语分界面了:

图片 16

  1. 咱俩运营二个演示看下有未有标题,就选择”2D Painting Example”吧

 

 

 

 

 

 

Ubuntu 碰到下Gtk与Qt编写翻译情况设置与布署 

Ubuntu 意况下Gtk与Qt编写翻译情状设置与布置(系统景况是Ubuntu 12.04)

1.布署根基开辟条件GCC

刚装好的系统中曾经有GCC了,不过那个GCC大概什么文件都无法编写翻译,因为相当不足一些一定要的头文件,所以要安装build-essential这么些软件包。能够在新立得里面搜索build-essential或输入上边施命发号:

sudo apt-get install build-essential程序示例

安装完结后写二个C语言程序testc.c测验一下。

程序示例:

hello.c

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

编写翻译运行:
$ gcc testc.c -o testc
$ ./testc

输出:
Hello Ubuntu!

2.装置GTK/GNOME开拓条件
安装GTK景况生龙活虎旦安装三个libgtk2.0-dev就足以了,而设置gnome开垦情状的话,需求装gnome-core-devel,它包括GTK开垦包。但在相符景况下,大家须求有三个ide开拓条件,要求扶助文件,于是大家设置
sudo apt-get install gnome-devel gnome-devel-docs
程序示例
设置到位后我们也后生可畏致做个测量检验程序 (CodeLanguage : C , only 1 header file 卡塔尔国

hello-ubuntu_gnome.c

#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 occurredn");
        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 gtktest.c -o gtktest  `pkg-config --cflags --libs gtk+-2.0`

$ ./gtktest

//`pkg-config--cflags --libs gtk+-2.0`库引用

展现七个含有二个按键的窗口,点击开关之后窗口关闭,命令行显示HelloUbuntu!

 

 

 

编辑:操作系统 本文来源:GTK及最基本的Linux应用更适合开发一些补丁性的小

关键词: