基于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服务器开发旅行社管理软件
做这个旅行社管理软件之前,旅行社给我的印象就是“拉客”与“接客”,业务模式应该比较简单.但做起这样一个旅行社管理软件,才发现麻雀虽小.五脏俱全,一个旅行社的运作,牵扯到的方方面面远远超出自己之前的理解 ...
随机推荐
- mysql学习之路_乱码问题
中文数据问题: 中文数据问题本质就说字符集问题, 计算机只识别二进制,人类识别符号:需要友谊个二进制与字符对应关系(字符集). 报错:服务器没有识别对应的四个字节. 服务器认为的数据是utf—8,一个 ...
- hadoop flume 架构及监控的部署
1 Flume架构解释 Flume概念 Flume是一个分布式 ,可靠的,和高可用的,海量的日志聚合系统 支持在系统中定制各类的数据发送方 用于收集数据 提供简单的数据提取能力 并写入到各种接受方 ...
- java se的那些细节
局部变量:方法体内或语句块内,不能有修饰符 成员变量:与类的对象共存,可以有修饰符 类属性:与类共存,可以有修饰符 一.局部变量:必须先赋值,才能使用,如果不赋初值,则会报错,即没有默认的始使值,而基 ...
- canvas打字效果
运用fillText,写的打字效果. 唯一麻烦的地方是,换行问题, 我是把字符串转化为数组,数组一个单位完成,就换行,继续下一个单位. <!doctype html> <html&g ...
- C++编译器详解(一)
C/C++编译器-cl.exe的命令选项 和在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰,本文将介绍微软C/C++编译器命令行模式设定和用法. 1.设置环境变 ...
- Ng第十五课:异常检测(Anomaly Detection)
15.1 问题的动机 15.2 高斯分布 15.3 算法 15.4 开发和评价一个异常检测系统 15.5 异常检测与监督学习对比 15.6 选择特征 15.7 多元高斯分布(可选) 15 ...
- noip第34课作业
1. 信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...
- 13.2.DataGrid增、删、改、查后台实现
一.UserServlet: 二:Dao接口: 三:Dao接口的实现类:
- [php-cookie] cookie 请求跨域,如何共享
cookie 请求跨域的问题, 假设我有两个域名,一个 m.example.com,另一个是 www.example.com . 那么我需要如何设置 cookie 才可以在这两个域名都实现共享呢? / ...
- iOS4.0及以上系统,关闭程序,applicationWillTerminate为调用问题解决
iOS4.0以后系统支持多任务类型,程序按下home键后,程序进入后台运行,如果内存不足被系统关闭或者手动关闭,都不会调用applicationWillTerminate回调函数. 解决方法:可以在程 ...