ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目

在具体的操作之前,首先需要安装一些必要的软件。
ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:
sudo apt-get install build-essential
使用GTK+2.0需要安装GTK开发套件,在命令行中输入下面的指令安装GTK开发套件libgtk2.0-dev:
sudo apt-get install libgtk2.0-dev
安装完成后,可以使用pkg-config查看一下GTK的相关编译环境信息:
pkg-config --cflags --libs gtk+-2.0
ubuntu安装code::blocks可以在命令行中输入如下指令来完成:
sudo apt-get install codeblocks

程序helloworld.c演示了如何开启一个桌面的窗口程序。

#include <gtk/gtk.h>
int main(int args, char *argv[]) {
    GtkWidget *window;
    gtk_init(&argc, &argv);
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_show(window);
    gtk_main();
    return 0;
}

helloworld.c

我们可以在命令行输入如下信息来编译该程序:
gcc -o helloworld helloworld.c `pkg-config --cflags --libs gtk+-2.0`
在命令行输入如下命令将会看到出现了一个窗口:
./helloworld

在code::blocks中创建一个Empty Project(在这里我给项目取名为"HelloWorld"),在项目中新建一个main.c文件,其中的内容和上面的helloworld.c文件的内容是一样的。此时运行HelloWorld项目并不能正常运行,在Build messages中会提示如下错误:
fatal error: gtk/gtk.h: No such file or directory
这是因为我们没有像之前编译helloworld.c程序时提供必要的参数`pkg-config --cflags --libs gtk+-2.0`。
打开项目所在目录下的HelloWorld.cbp文件(这个文件类似makefile,里面包含了项目相关的一些配置信息),在project项的compiler项中添加
<Add option="`pkg-config gtk+-2.0 --cflags`" />
在project项中添加Linker项
<Linker>
    <Add option="`pkg-config gtk+-2.0 --libs`" />
</Linker>
再次运行Helloworld项目,能够得到之前手工编译运行helloworld.c相同的一个窗口。
完整的HelloWorld.cbp代码(添加GTK参数后):

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
    <FileVersion major="1" minor="6" />
    <Project>
        <Option title="HelloWorld" />
        <Option pch_mode="2" />
        <Option compiler="gcc" />
        <Build>
            <Target title="Debug">
                <Option output="bin/Debug/HelloWorld" prefix_auto="1" extension_auto="1" />
                <Option object_output="obj/Debug/" />
                <Option type="1" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-g" />
                </Compiler>
            </Target>
            <Target title="Release">
                <Option output="bin/Release/HelloWorld" prefix_auto="1" extension_auto="1" />
                <Option object_output="obj/Release/" />
                <Option type="1" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-O2" />
                </Compiler>
                <Linker>
                    <Add option="-s" />
                </Linker>
            </Target>
        </Build>
        <Compiler>
            <Add option="`pkg-config gtk+-2.0 --cflags`" />
            <Add option="-Wall" />
        </Compiler>
        <Linker>
            <Add option="`pkg-config gtk+-2.0 --libs`" />
        </Linker>
        <Unit filename="main.c">
            <Option compilerVar="CC" />
        </Unit>
        <Extensions>
            <code_completion />
            <debugger />
        </Extensions>
    </Project>
</CodeBlocks_project_file>

HelloWorld.cbp

学习资料:
Ubuntu 下安裝 GTK http://openhome.cc/Gossip/GTKGossip/GTKUnderUbuntu.html
编程语言:gtk程序设计简介 http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=编程语言:gtk程序设计简介
GTK+2.0教程 http://runmediaprocess.googlecode.com/svn/trunk/dataBase/界面UI开发/GTK/GTK_2.0_Tutorial(中文版).pdf

时间: 2024-12-26 03:30:39

ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目的相关文章

ubuntu下code::blocks编译运行一个简单的gtk+2.0项目

在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt-get install build-essential使用GTK+2.0需要安装GTK开发套件,在命令行中输入下面的指令安装GTK开发套件libgtk2.0-dev:sudo apt-get install libgtk2.0-dev安装完成后,可以使用pkg-config查看一下GTK的相关编译

Ubuntu 下配置code::blocks

提前上一个月下学期的课.要学习linux,于是硬盘装了ubuntu14.10 . 又想刷刷题,就装code::blocks 了.但是缩进搞得我很不习惯. 各种搜索之后找到了解决的办法.我是直接在软件中心安装的code::blocks 然后安装一些插件,终端输入 sudo apt-get install codeblocks-contrib 同意之后安装完成,缩进什么就搞定了.就同windows下一样了. 字体我一直使用的consolas 下载安装完字体就可以在setting/editor/gen

Linux环境下部署完JDK后运行一个简单的Java程序

前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version"命令是否有正确的内容打印,也许这并不具备太大的说服力.可能能够运行起一个正确的java程序来,不管从感性角度还是理性角度来说,都会有一个更好的认识. 所以本文写一段很简单的java代码,并且在Linux环境下编译运行,以证明JDK部署得确实没有问题. 代码验证JDK部署是否正确 1.级联建立两个目录 首

64位ubuntu下用code::blocks IDE配置opengl开发环境

http://jingyan.baidu.com/article/c74d60007d104f0f6b595d6d.html 样例程序: #include <GL/glut.h> #include <stdlib.h> void init(); void display(); int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE

终端下编译运行一个简单C++程序流程

test1.c #include <stdio.h> #include "test.h" void test1(){ printf(add1); } test2.c #include <stdio.h> #include "test.h" void test2(){ printf(add2); for(; i > 0; i--){ printf("%d-", i); } } test.c #include <s

[转载]Ubuntu下arm-linux-gdb+gdbserver的编译及安装

原文地址:Ubuntu下arm-linux-gdb+gdbserver的编译及安装作者:136*****[email protected] 注:arm-linux-gdb的安装路径是/usr/local/arm/3.4.11.arm-linux-gdb的编译安装下载gdb-6.8.tar.bz2至工作目录 gdb源码下载:http://ftp.gnu.org/gnu/gdb/ 命令如下: $tar -jxvf gdb-6.8.tar.bz2$cd gdb-6.8$./configure --ta

使用code::blocks编译windows的dll链接库

因为机子上没有安装Visual Studio,所以找到了一种通过code::blocks编译dll的方式,踩到的坑是code::blocks默认的compiler是32位的,这样编译出的dll也是32位的,编译64位的需要借助MinGW-w64的toolchain. 为code::blocks配置外部MinGW-w64编译器可以参考Compile 64-bit under windows with MinGW-w64. 使用code::blocks创建一个dll的工程,如下图: go和next到

Linux下librdkafka客户端的编译运行

Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来给别人调用,所以先安装了librdkakfa,然后在demo上进行修改封装一个生产者接口. [一] 安装librdkafka 首先在github上下载librdkafka源码,解压后进行编译: cd librdkafka-master chmod 777 configure lds-gen.py .

(转载)关于ubuntu下java环境配置及其运行

转载地址:http://blog.sina.com.cn/s/blog_6730a3aa0100vsiy.html 其实不需要怎么配置,直接到ubuntu软件中心里面搜jre就行了,安装上. 在终端输入:sudo apt-get install openjdk-6-jdk 再在ubuntu软件中心里面搜索eclipse下载安装即可. 不安装eclipse也行,不过运行什么的都要在终端了..... 下面就运行试试: 1.直接终端运行: 在桌面建立一个文本文档命名为test.java,使用其他编辑器