第一个GTK+程序编译失败解密!
来源:互联网 发布:正品高仿淘宝特卖 编辑:程序博客网 时间:2024/05/16 12:21
他妈的 这个问题困扰我好久了
一直想在Linux下开发图形界面
不想学Qt 因为被Nokia买走了
微软我都敢甩 何况Nokia
结果我的第一个GTK+程序总编译不通过
带给我巨大的挫败感
我要死了
终于找到解决办法了
还是Linux的教材太少了 以至旧教材还在误导初学者
以下是最常见的helloworld
---------------------------
#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;
}
你可以用 gcc 编译上面的程序:
gcc base.c- obase`gtk-config--cflags--libs`
-------------------------------
唉 我被害惨了 以上过程有2个错
导致编译结果如下
# gcc base.c -o base `gtk -config --cflags --libs`
bash: gtk: command not found
base.c:1:21: 错误:gtk/gtk.h:没有那个文件或目录
base.c: In function ‘main’:
base.c:4: 错误:‘GtkWidget’ 未声明 (在此函数内第一次使用)
base.c:4: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
base.c:4: 错误:所在的函数内只报告一次。)
base.c:4: 错误:‘window’ 未声明 (在此函数内第一次使用)
base.c:6: 错误:‘GTK_WINDOW_TOPLEVEL’ 未声明 (在此函数内第一次使用)
以上信息是希望能被更好地被百度收录 帮助更多的像我一样的初学者
出错原因:
-----------------------------
在大部分的开发图书中的第一个例子都有一个头文件#include <gtk/gtk.h>,也就是这句话,让N多人在第一次接触GTK编程就感到受到挫折啊 ~~~我来解释一下吧
首先是 gtk/gtk.h 这个东西,你是怎么看待/这个东西的呢?其实他是指 gtk.h的上一层文件夹 ,哈哈,这也是为什么你在gcc编译的时候总是显示出无法找到这个头文件。OK,解决办法,首先要保证你安装了gtk这个包。
安装包的方法:
从你的安装盘(或者去www.gtk.org)找到一个文件叫做gtk+版本号.tar.gz/.tar/.rpm的文件并且选择安装相关联的库。然后同样方法安装Gnome库(www.gnome.org)。
恩,恩。这样你就安装好了这个库了。但是你的 gtk.h又安装在那里呢?
在系统中搜索gtk.h,找到你的系统安装的地方(我用的fedora8,我的地址为gtk-2.o/gtk/gtk.h)把这个地址替换 #include <gtk-2.0/gtk/gtk.h>,恩,库的链接现在做好了。但是你如果按照书上的编译我估计还是失败。
命令:gcc base.c -o base `gtk-config --cflags --libs`
我来解释一下哈,-o后面那个东西是最后链接出来的东西如果你没有这个参数的话,系统会自动生成a.out文件,`这个符号是1左面那个,而不是分号右面 那个。gtk-config是1.0用的命令,明白了吧,刚才我写的可是gtk-2.0/gtk/gtk.h,所以这个命令应该将gtk-config修 改为pkg-config gtk+-2.0。
现在运行吧~./base,呵呵,看到你的东西了吧。
一直想在Linux下开发图形界面
不想学Qt 因为被Nokia买走了
微软我都敢甩 何况Nokia
结果我的第一个GTK+程序总编译不通过
带给我巨大的挫败感
我要死了
终于找到解决办法了
还是Linux的教材太少了 以至旧教材还在误导初学者
以下是最常见的helloworld
---------------------------
#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;
}
你可以用 gcc 编译上面的程序:
gcc base.c- obase`gtk-config--cflags--libs`
-------------------------------
唉 我被害惨了 以上过程有2个错
导致编译结果如下
# gcc base.c -o base `gtk -config --cflags --libs`
bash: gtk: command not found
base.c:1:21: 错误:gtk/gtk.h:没有那个文件或目录
base.c: In function ‘main’:
base.c:4: 错误:‘GtkWidget’ 未声明 (在此函数内第一次使用)
base.c:4: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
base.c:4: 错误:所在的函数内只报告一次。)
base.c:4: 错误:‘window’ 未声明 (在此函数内第一次使用)
base.c:6: 错误:‘GTK_WINDOW_TOPLEVEL’ 未声明 (在此函数内第一次使用)
以上信息是希望能被更好地被百度收录 帮助更多的像我一样的初学者
出错原因:
-----------------------------
在大部分的开发图书中的第一个例子都有一个头文件#include <gtk/gtk.h>,也就是这句话,让N多人在第一次接触GTK编程就感到受到挫折啊 ~~~我来解释一下吧
首先是 gtk/gtk.h 这个东西,你是怎么看待/这个东西的呢?其实他是指 gtk.h的上一层文件夹 ,哈哈,这也是为什么你在gcc编译的时候总是显示出无法找到这个头文件。OK,解决办法,首先要保证你安装了gtk这个包。
安装包的方法:
从你的安装盘(或者去www.gtk.org)找到一个文件叫做gtk+版本号.tar.gz/.tar/.rpm的文件并且选择安装相关联的库。然后同样方法安装Gnome库(www.gnome.org)。
恩,恩。这样你就安装好了这个库了。但是你的 gtk.h又安装在那里呢?
在系统中搜索gtk.h,找到你的系统安装的地方(我用的fedora8,我的地址为gtk-2.o/gtk/gtk.h)把这个地址替换 #include <gtk-2.0/gtk/gtk.h>,恩,库的链接现在做好了。但是你如果按照书上的编译我估计还是失败。
命令:gcc base.c -o base `gtk-config --cflags --libs`
我来解释一下哈,-o后面那个东西是最后链接出来的东西如果你没有这个参数的话,系统会自动生成a.out文件,`这个符号是1左面那个,而不是分号右面 那个。gtk-config是1.0用的命令,明白了吧,刚才我写的可是gtk-2.0/gtk/gtk.h,所以这个命令应该将gtk-config修 改为pkg-config gtk+-2.0。
现在运行吧~./base,呵呵,看到你的东西了吧。
- 第一个GTK+程序编译失败解密!
- 第一个GTK+程序
- gtk第一个程序
- 第一个Gtk+窗口程序编译手记(Linux平台)
- mono:第一个gtk#程序
- 1.0第一个GTK程序
- GTK学习第一步: Windows环境下运行第一个GTK程序
- automake编译gtk+程序
- gtk 的第一个实例
- 编译第一个LINUX下 OPENCV 程序
- 编译运行第一个DirectFB程序
- 编译你的第一个程序
- 第一个MFC程序编译有感
- 编译运行第一个linux c++程序
- 第一个C程序-编译、链接、运行
- 第一个API程序编译问题
- 第一个内核模块程序编译
- 编译并打包第一个Hadoop程序
- DbHelper数据操作类
- Linux下的IP设置
- 手机里舍不得删除的48条搞笑短信
- 服务器在国外,中文添加Sqlserver里变成乱码
- DropDownList无限级分类(灵活控制显示形式)
- 第一个GTK+程序编译失败解密!
- ASP.NET 2.0中GridView无限层复杂表头的实现
- linux编程
- How to be a friend of yourself
- [英语阅读]马来西亚两位妻子联手休夫
- [英语阅读]爱买运动鞋的人具有领导潜质?
- 点击按钮可能执行的操作总结
- URL 重写(Asp.Net)
- 创建复杂表头的表格