`

c Ubuntu系统下GTK安装

阅读更多
1. GTK的安装

#这将安装gcc/g++/gdb/make 等基本编程工具
sudo apt-get install build-essential

#这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
sudo apt-get install gnome-core-devel

#用于在编译GTK程序时自动找出头文件及库文件位置
sudo apt-get install pkg-config

#这将安装 devhelp GTK文档查看程序
sudo apt-get install devhelp

#这将安装 gtk/glib 的API参考手册及其它帮助文档
sudo apt-get install libglib2.0-doc libgtk2.0-doc

#这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
sudo apt-get instal glade libglade2-dev


2. 测试中的问题
在网上找一个用GTK编写的很简单的Hello World的源码,编译发现报错,错误如下:

stanwh@stanwh-ubuntu:~$ gcc -g -Wall gtkhello.c -o gtkhello



gtkhello.c:1: fatal error: gtk/gtk.h: 没有那个文件或目录
compilation terminated.

请注意之前我们安装的pkg-config,它是一个用来管理包的程序,在终端执行以下语句:
stanwh@stanwh-ubuntu:~$ pkg-config --cflags --libs gtk+-2.0
输出结果如下:
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12  -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
可以看出,输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。

所以以上问题的解决方法是按照如下修改gcc编译语句(蓝色部分是必须添加的,注意前后的 ` ):
stanwh@stanwh-ubuntu:~$ gcc -g -Wall gtkhello.c -o gtkhello `pkg-config gtk+-2.0 --cflags --libs`
stanwh@stanwh-ubuntu:~$ ./gtkhello
Hello World
编译和执行都OK。


以上转自CSDN,以下是自己使用Geany作为IDE开发时的配置:(位置在  生成--设置生成命令)


将以上蓝色部分附加的编译、生成命令之后
  • 大小: 75.9 KB
分享到:
评论

相关推荐

    基于C gtk/gtk+ sqlite3选课系统的开发

    基于C gtk/gtk+ sqlite3选课系统的开发

    linux下c语言sqlite学生成绩管理系统

    linux环境下c语言学生成绩管理系统,简单版本,易于新手学习,界面是基于gtk+.欢迎下载

    网络版五子棋(c语言) linux系统 gtk编写

    tar -zxvf cd wuziqi make client make server 先运行服务器 ./server 111 & (111为端口号,自定义) 再 ./client 输入服务器ip地址和端口号即ok 可以在一台机子上测试,欢迎大家提建议

    Ubuntu下gtk图像渲染示例

    当然,GTK也是支持跨平台的,支持Unix类的系统、Windows,甚至手机平台。 本示例采用C语言开发,显示球状方法有很多,这里采用最原始的方式处理。只需要提供画点函数即可实现。 利用GTK库中的图像渲染GDK库实现,...

    Ubuntu下基于Sqlite3的学生管理

    这是一个基于Linux平台下SQLite数据库的学生管理系统,目前只有id,name,sorce三个类别,如想更多请自行添加就OK了!

    ubuntu1804.odt

    基于ubuntu1804安装使用的解析,包括如何更快下载安装软件、linux下如何进行系统垃圾清理、如何进行远程调试、编译环境(C/C++)安装配置、静态IP设置、输入法安装配置、QT安装配置及应用、.samba安装并进行文件及...

    Ubuntu/Linux 系统备份

    程序依赖的包(如 python-gtk2 、zenity 等)ubuntu 官方版都已预装,某些精简版、定制版可能没有,需手动安装。kubuntu 也没有。xubuntu、edubuntu 未测。 克隆或备份时会自动跳过 /mnt/* 、/media/* 、 /proc 、/...

    Linux环境C程序设计 源代码 目录章节内容

    《Linux环境C程序设计》由浅入深,循序渐进地讲授在Linux系统下使用C语言进行软件开发的方法。全书内容包括Linux的基本概念和操作方法、C语言编程方法、D-BUS和线程控制、网络协议和LibCurl网络编程、数据库C语言...

    c语言GtkGrid例程创建了一个包含几个按钮的窗口

    在大多数基于 Debian 的系统上(如 Ubuntu),可以使用以下命令安装:sudo apt-get install libgtk-3-dev 。 编译这个程序,可能需要使用 pkg-config 来获取正确的 GTK 编译和链接标志。一个典型的编译命令:gcc `...

    ubuntu sublime中文输入问题解决办法

    ubuntu sublime中文输入问题解决办法 概述:ubuntu下面使用sublime写代码,不能输入中文写...1.在主目录下(随意)下创建sublime_imfix.c文件 2.将下面的代码复制到文件下并保存 #include <gtk> void gtk_im_context

    linux局域网聊天工具(附带文档和源码参考)

    2.2 熟悉Linux操作系统下的C/C++应用程序开发环境,掌握linux系统下开发工具vi、gcc 和gdb的使用,以及makefile的写法; 2.3 掌握Linux环境下图形工具包GTK和网络编程中socket“套接字”的使用;

    micro-acc-systemc:使用systemc语言在总线上下文上模拟微处理器和加速器的连接

    微型acc系统 ... 使用以下方法在Ubuntu中下载gtkwave: sudo apt install gtkwave 主题 问题 您可以在此处弄清楚项目的确切含义: 解决方案 您可以在此处查看该项目的设计,架构和数据路径: 概念

    Ubuntu下基于opencv和qt的人脸识别考勤系统.zip

    C++是完全面向对象的,这一点和Objective-c等在开发很相似。而Qt又是基于C++一种语言的扩展,大家都知道C++ 有快速、简易、面向对象等很多优点,所以Qt自然也继承者C++这些的优点。 Qt良好的封装机制使得Qt的模块化...

    Xournal ++是具有PDF注释支持的手写笔记软件。 用GTK3的C ++语言编写,支持Linux(例如Ubuntu,Debian,Arch,SUSE),macOS和Windows10。支持来自Wacom Tablets等设备的笔输入。-C/C++开发

    我们希望收到您对新渲染系统的反馈。 最大的变化之一是它将支持无限页。 当然,我们会推荐Xournal ++。请帮助我们做出重要的决定。我们希望收到您对新渲染系统的反馈。 最大的变化之一是它将支持无限页。 当然,我们...

    软件工程实验报告

    一个教师信息管理系统,gtk写的界面,c语言实现的功能,运行环境是ubuntu, 该系统的文档,软件工程实验报告

    dw_gui:反狼的GTK3 GUI

    要在系统范围内安装gui,以便可以从gnome进行访问,请执行以下操作: sudo make installOSX 要获取依赖关系,请按照安装Gtk3库或使用 : brew updatebrew upgradebrew install gtk+3brew install adwaita-icon-theme...

    C++课程设计:基于Ubuntu16.04的QT界面局域网聊天系统.zip

    C++是完全面向对象的,这一点和Objective-c等在开发很相似。而Qt又是基于C++一种语言的扩展,大家都知道C++ 有快速、简易、面向对象等很多优点,所以Qt自然也继承者C++这些的优点。 Qt良好的封装机制使得Qt的模块化...

    fsearch:基于GTK + 3的类Unix系统的快速文件搜索实用程序

    在带有菜单栏的传统UI和客户端装饰之间切换)要求GTK + 3.18 GLib 2.44 glibc 2.19或musl 1.1.15(其他C标准库也可能工作,这些只是我验证的库) PCRE(libpcre)下载Arch Linux(AUR) openSUSE(非官方) 的Ubuntu...

    node.js插件工具

    以下部分我们将介绍在Ubuntu Linux下安装 Node.js 。 其他的Linux系统,如Centos等类似如下安装步骤。 在 Github 上获取 Node.js 源码: install-node-msi-version-on-linux-step1 install-node-msi-version-on-...

    webview:适用于C ++的跨平台Webview库

    更像“ C ++”的API 在Windows上支持Microsoft Edge 用实际的Objective-C代码替换了Objective-C运行时C代码支持视窗苹果系统Linux 版本Windows 10,v1809 + 已在Catalina的MacOS Mojave上测试在Ubuntu 18.04.02 LTS...

Global site tag (gtag.js) - Google Analytics