基于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界面。
待续...