基于GTK+3 开发远程控制管理软件(C语言实现)系列二 Centos7下开发环境搭建
一、安装gcc gcc-c++ make等编译工具
yum install gcc gcc-c++ kernel-devel
这一步,其实可以不用做,你在安装Centos7的时候,如果选择开发模式安装系统,则默认会安装的。
二、安装GTK3
yum install libgnomeui-devel
这是我在查阅GTK相关文档资料时,可以使用这样的命令进行安装,很是方便。
查看GTK 版本,此命令也可以做为判断是否安装了GTK。
pkg-config --list-all | grep gtk
如下图,所示:

pkg-config --modversion gtk+-3.0
pkg-config --modversion gtk+-2.0
结果如下图

三、安装开发IDE
一)使用Eclipse For C/C++ 开发GTK
1、下载Eclipse
地址: https://www.eclipse.org/downloads/eclipse-packages/

下载的完毕后,通过界面操作,或者命令进行解压缩,然后打开。如果可以正常打开,说明系统已有JDK。如果不能则代表Centos还没有安装JDK,自己下载JDK即可,过程不再详述。

2、创建C项目

这里要注意的是:Toolchains选项要选择LinuxGCC,因为是在Linux下。

创建完毕。

这时候,Ctrl+B 编译项目,然后直接运行,在Console 窗体中出现Hello world就代表GCC 是正常的。
3、配置GTK For Eclipse
1)给GCC添加对GTK的编译参数
1、Alt+回车 打开项目属性窗口,选择C/C++ Build --- Settings----Tool Settings--- GCC C Compiler ---- Miscellaneous --- Other flags 参数中添加
`pkg-config gtk+-3.0 --cflags`

2、C/C++ Build --- Settings----Tool Settings--- GCC C Linker ---- Miscellaneous --- Linker flags 参数中添加
`pkg-config gtk+-3.0 --libs`

3、将GTK的类库引用到项目中去。
C/C++ Build --- Settings----Tool Settings--- GCC C Compiler ---- Includes ---- Include paths(-I) 参数中添加值
/usr/include/glib-2.0
/usr/include/gtk-3.0

到此GTK的类库及编译配置完成。
2)写一个简单测试配置情况
/*
============================================================================
Name : GtkDemo.c
Author : GtkDemo
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/ #include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>
int main(int argc,char *argv[]) {
//puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
//return EXIT_SUCCESS;
GtkWidget *window;
gtk_init(&argc,&argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(window); gtk_main(); return EXIT_SUCCESS; }
以上代码是Hello World 那部分进行修改并添加了GTK的类库。

如果出现窗体,则代表成功。
二)安装Glade进行界面设计
1、安装
在安装Centos系统时,只要选择了开发GUI相关的选项,一般来说在安装完成后,就会有Glade的。我们只要安装一下就可以了。

选择“应用程序的安装程序” ,然后搜索“Glade”

上面是两个版本的一个是3.8,一个是3.15的,分别对应GTK2和3. 安装好,直接启动。我们会在“应用程序”---“编程”---Glade 找到。
2、做一个简单的UI界面。
待续...
基于GTK+3 开发远程控制管理软件(C语言实现)系列二 Centos7下开发环境搭建的更多相关文章
- 基于GTK+3 开发远程控制管理软件(C语言实现)系列 一 开篇
近期趁公司没项目来,想学习一下C和GTK+3 ,顺道再学习一下Linux下有关网络编程方面的知识. 一.学习知识: 1.C基本语法 2.GTK+3 API学习 GUI相关知识学习 3.Glade使用及 ...
- 基于centos7下appium环境搭建
事件背景: 前几日在群里看到关总说他的server端是搭建在linux环境下,包括对客户端与服务端的交互处理,感觉整体思路清晰可鉴,于是就想尝试,动手实践,接着从环境搭建开始搞起,于是就有了这篇文章, ...
- 基于GTK+3 开发远程控制管理软件(C语言实现)系列三 Windows7开发环境搭建
一.介绍与准备 考虑到目标客户端基本都是windows客户端,所以此次开发环境将搭建在windows7下,相关开发工具有Msys2 和 Eclipse For C/C++ Msys2 是msys的升级 ...
- 仿OpenStack开发云计算管理软件
仿OpenStack开发云计算管理软件 使用Python语言开发一套类似OpenStack的云计算管理平台LouCloud,具备基本的用户,服务器,镜像与 虚拟机管理功能,学习IaaS,虚拟化,Lib ...
- win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建
缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...
- Java开发微信公众号(一)---初识微信公众号以及环境搭建
ps:1.开发语言使用Java springMvc+Mybaits+spring maven实现 2.使用微信接口测试账号进行本地测试 https://mp.weixin.qq.com/debug/c ...
- Android实战开发租赁管理软件(适配UI,数据的存储,多线程下载)课程分享
亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系. 课程内容简单介绍 我们软件是基于移动设备的.所以我们必定的选择了安卓作为我们的开发工具.课 ...
- 用勤哲excel服务器开发旅行社管理软件
做这个旅行社管理软件之前,旅行社给我的印象就是“拉客”与“接客”,业务模式应该比较简单.但做起这样一个旅行社管理软件,才发现麻雀虽小.五脏俱全,一个旅行社的运作,牵扯到的方方面面远远超出自己之前的理解 ...
随机推荐
- Latex插图操作
1.竖排插入两张图 \begin{figure}[h] //放在当前位置 \centering \subfigure[A given traffic flow set]{ \includegraphi ...
- IntellJ IDEA 对于 Spring Boot2.0.2 配置文件application.properties 配置
1.指定文件名称: 打开IDEA编辑位置: 找到如图位置: 点开后方设置 设置输入如下内容:(默认的配置文件名字可以使用--spring.config.name来指定,只需要指定文件的名字,文件扩展名 ...
- UVa 10870 Recurrences (矩阵快速幂)
题意:给定 d , n , m (1<=d<=15,1<=n<=2^31-1,1<=m<=46340).a1 , a2 ..... ad.f(1), f(2) .. ...
- UVa 1610 Party Games(思维)
题意: 给出一系列字符串,构造出一个最短字符串(可以不在集合中)大于等于其中的一半,小于另一半. 析:首先找出中间的两个字符串,然后暴力找出最短的字符串,满足题意. 代码如下: #include &l ...
- for循环添加的闭包问题
function test(){ var arr = []; for (var i=0;i;i++){ arr[i] = function(){ console.log(i); } } return ...
- Ubuntu下配置PHP和CakePHP记录
目前在完成一个PayPal的支付页面,需要有PHP的开发环境,同时,在开发时使用了CakePHP的框架,于是就有了下面的情景. 操作环境: OS:ubuntu-14.04.2-desktop-amd6 ...
- WEB上传大文件解决方案
众所皆知,web上传大文件,一直是一个痛.上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的. 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路.下面贴出简易 ...
- 关于MVC视图传参
转自:http://q.cnblogs.com/q/48477/
- MySQL性能优化之延迟关联
[背景] 某业务数据库load 报警异常,cpu usr 达到30-40 ,居高不下.使用工具查看数据库正在执行的sql ,排在前面的大部分是: SELECT id, cu_id, name, in ...
- android PendingIntent 使用通知传递多个参数,及不覆盖的问题
Intent updateIntent = new Intent(GetNoticeService.this, DetailGonggaoActivity.class); updateIntent.p ...