已解决。详见Ubuntu
12.04下在Eclipse IDE for C/C++ Developers中执行C语言的GTK程序

按“Ubuntu下GTK的安装、编译和測试”(http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html)所说步骤,最终安装成功了GTK,非常开心,以为近一个月的困扰要攻克了。但在Eclipse IDE for C/C++ Developes中一測试。出现找不到gtk/gtk.h头文件的错误。

哭!

又花了好些时间最终找到了Ubuntu下Eclipse的配置(http://blog.csdn.net/sunny2038/article/details/7082164),最终能在Eclipse IDE for C/C++ Developers中找到gtk/gtk.h头文件了。以为最终熬出头了,不料測试一下,竟然出来成百上千的错误(可能是包没有装成功),主要是类似于下面的错误和警告(g.c是源文件名称):

In file included from /usr/include/gtk-2.0/gtk/gtk.h:170, from ../g.c:1:

/usr/include/gtk-2.0/gtk/gtkspinner.h:58: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gtk_spinner_get_type’

In file included from /usr/include/gtk-2.0/gtk/gtk.h:171,from ../g.c:1:

/usr/include/gtk-2.0/gtk/gtkstatusbar.h:63: warning: parameter names (without types) in function declaration

/usr/include/gtk-2.0/gtk/gtkstatusbar.h:63: error: field ‘GSEAL’ declared as a function

/usr/include/gtk-2.0/gtk/gtkstatusbar.h:65: warning: parameter names (without types) in function declaration

/usr/include/gtk-2.0/gtk/gtkstatusbar.h:65: error: bit-field ‘GSEAL’ has invalid type

/usr/include/gtk-2.0/gtk/gtkstatusbar.h:55: error: duplicate member ‘GSEAL’…



      好些头文件都有类似错误,百度无果。又没招了,该怎样是好?恳求大牛帮忙……焦急等待中。!!

---------------下面转载自:Windows和Ubuntu11.10在Eclipse中配置C和GTK--------------------------------------------------

Ubuntu下在Eclipse中执行C语言的GTK程序

1、下载相关的包

        sudo apt-get install gnome-core-devel build-essential libgtk2.0-dev libgtk2.0-doc

2、測试代码

        打开Eclipse,新建——C Project——输入Project name。并选择Executable中的Hello World ANSI C Project。默认会选择Linux GCC的Toolchains,点击Finish——这时会打开一个Hello World的演示样例代码——将当中哦功能的代码换成以下的測试代码。(事实上全然能够不用Hello World模版,这里仅仅是简化过程。

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

3、配置Eclipse       

        (1)选中gtk项目。在菜单条点击Project——Properties——C/C++ Build——Settings——GCC C Compiler——Miscellaneous,在Other flags中增加`pkg-config –cflags gtk+-2.0`

        (2)在同一个对话框中。选择GCC C Linker——Miscellaneous,在Linker flags中增加`pkg-config –libs gtk+-2.0`

        (3)选中GCC C Linker,在右边的Command line pattern里面的${INPUTS} 调到${COMMAND}后面,如:${COMMAND}  ${INPUTS} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}

        (4)在GCC C Compiler——Includes中,增加/usr/include/gtk-2.0 和 /usr/include/glib-2.0,能够消除gtk.h unresolved的警告,同一时候在程序中使用gtk的函数,会出现智能提示。

        经过以上步骤,一个GTK程序就能执行出来了。

Ubuntu下在Eclipse IDE for C/C++ Developers中怎样执行C语言的GTK程序?(已解决)的更多相关文章

  1. ubuntu下安装eclipse IDE for C/C++ developers

     序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大.linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行li ...

  2. 怎么样Eclipse IDE for C/C++ Developers正确编译GTK规划?(解决)

    <span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 25.99 ...

  3. Ubuntu下安装eclipse

    一.eclipse安装环境JDK的安装 1.下载JDK 从官网下载jdk8 jdk-8u5-linux-x64.tar.gz 2.解压$ tar -zxvf jdk-8u5-linux-x64.tar ...

  4. 在ubuntu下设置eclipse开发STM32等嵌入式设备

    之前为了能够让ROS与底层能够顺利通讯,我采用可开源开发板arduino ,因为arduino有ROS的库,能够按照ROS wiki上所给的教程就可以顺利的开发,但由于arduino的局限性,我觉得是 ...

  5. ubuntu下整合eclipse和javah生成jni头文件开发android的native程序

    0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...

  6. Ubuntu下增加eclipse菜单图标并配置java path(解决点击图标不能启动eclipse的问题)

    Ubuntu下增加eclipse菜单图标 Ubuntu的菜单图标在/usr/share/applications目录下. 1. 在/usr/share/applications目录下新建eclipse ...

  7. ubuntu下不用eclipse开发cocos2d-x(命令行)

    之前在ubuntu下通过eclipse搭建开发cocos2d-x的环境,但是由于eclipse界面在ubuntu显得很丑,在里面写代码,完全没有感觉,后来我转到了win7上通过vs2010和eclip ...

  8. ubuntu下安装eclipse<转>

    转载自http://my.oschina.net/u/1407116/blog/227084      http://my.oschina.net/u/1407116/blog/227087 一 JD ...

  9. ubuntu 下安装eclipse &amp;java环境配置

    前面有一篇的博客写的是ubuntu下安装eclipse和java环境的配置.当时是安装网上的攻略进行的 ,当然也是能够成功的. 近期把那台电脑送人了 ,仅仅好在自己的这台电脑上又一次安装一次了 ,唯一 ...

随机推荐

  1. <stddef.h>

    Common definitions 定义类型: ptrdiff_t 两指针相减的结果,signed integer size_t sizeof操作符的结果,unsigned integer max_ ...

  2. PD(Power Delivery)充电协议

    关于PD的历史进程,可以在我转载的另一篇文章中了解 http://www.cnblogs.com/Hello-words/p/7851627.html PD 1.0 用的是 BFSK在 VBUS上进行 ...

  3. java与javascript之间json格式数据互转

    javascript中对象与字符串的互转 对象转为字符串:通过JSON.encode方法,这个是json.js里面的方法,引入到当前文件就可以了. 字符串转换为对象:①使用JSON.decode方法, ...

  4. Lazarus Reading XML- with TXMLDocument and TXPathVariable

    也就是使用XPath的方式,具体语法规则查看http://www.w3school.com.cn/xpath/xpath_syntax.asp,说明得相当详细.这里列举例子是说明在Lazarus/FP ...

  5. (转)Hibernate关联映射——对象的三种关系

    http://blog.csdn.net/yerenyuan_pku/article/details/70148618 Hibernate关联映射——对象的三种关系 Hibernate框架基于ORM设 ...

  6. HDU_5734_数学推公式

    题意:给一个向量W={w1,w2……,wn},和一个向量B,B的分量只能为1和-1.求||W-αB||²的最小值. 思路:一来一直在想距离的问题,想怎么改变每一维的值才能使这个向量的长度最小,最后无果 ...

  7. -bash:whois:command not found

    在centOS 下,如果出现-bash:whois:command not found的问题, 则yum install 安装whois软件 yum install -y jwhois 包名是jwho ...

  8. 浅谈animation里的forwards

    forwards可译为向前走, animation-fill-mode(动画填充模式),定义动画播放时间之外的状态 顾名思义,就是在动画播放完了之后给它一个状态 animation-fill-mode ...

  9. sysbench_mysql

    ref http://seanlook.com/2016/03/28/mysql-sysbench/ 测试 当执行下面这个sysbench测试mysql的时候,你不知道的可能可能是: 这到底是在测试读 ...

  10. enote笔记语言(4)(ver0.4)——“5w1h2k”分析法

    章节:“5w1h2k”分析法   what:我想知道某个“关键词(keyword)”(即,词汇.词语,或称单词,可以是概念|专业术语|.......)的定义. why:我想分析and搞清楚弄明白“事物 ...