以下是最常见的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,找到你的系统安装的地方(我用的Centos,我的地址为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,呵呵,看到你的东西了吧。
另外,在编译代码之前,你可以先
到/usr/include确认一下gtk.h文件的路径。
怎么把/usr/include/gtk-2.0/gtk这个目录加到头文件搜索目录表里啊?
只要#include <gtk-2.0/gtk/gtk.h>呗。
或者gcc的时候 -I/usr/include/gtk-2.0/gtk,代码里面 #include <gtk.h>
分享到:
相关推荐
// 初始化GTK+程序 gtk_init(&argc, &argv); ``` - **GtkWidget**: GTK+中的基本组件类型。 - `gtk_init(&argc, &argv)`: 初始化GTK+库,通常在程序开始时调用,确保GTK+正确设置环境变量和资源。 #### 2. 创建窗口...
#### 五、编写第一个GTK+程序 下面是一个简单的示例,演示如何创建一个带有“Hello World!”消息的窗口: ```c #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window; gtk_init(&argc, ...
1. Hello World 程序:介绍如何编写一个简单的 GTK+ 程序,包括信号和回调函数的使用。 2. 数据类型:介绍 GTK+ 中的数据类型,包括整数、浮点数、字符串等。 3. 信号处理函数:介绍如何使用信号处理函数来响应用户...
Windows GTK+ 开发环境搭建 ...搭建 GTK+ 开发环境需要下载 GTK+ 包,设置环境变量,配置 VS2008 项目,编写 Hello World 程序等步骤。通过这些步骤,可以成功地在 Windows 平台上搭建 GTK+ 开发环境。
4. **创建第一个GTK+程序**:逐步指导编写一个简单的“Hello, World”程序,让读者了解GTK+程序的基本结构。 5. **布局管理**:讲述如何使用盒式布局(Box)、网格布局(Grid)和流式布局(FlowBox)等管理器来组织...
gtk_window_set_title(GTK_WINDOW(window), "Hello World"); gtk_window_set_default_size(GTK_WINDOW(window), 600, 400); label = gtk_label_new("Hello, World!"); gtk_container_add(GTK_CONTAINER(window)...
同时,也可以编写一个简单的GTK+程序,如"hello-world.c",并使用`gcc`编译它: ``` gcc hello-world.c -o hello `pkg-config --cflags --libs gtk+-3.0` ./hello ``` 6. 使用IDE:虽然命令行编译是基础,但...
”中,我们介绍了三个“Hello World!”的应用示例,其中两个是在控制台上运行的,使用标准输入输出来进行交互;而第三个则是我们的第一个 GTK+ 应用程序,在这个例子中,我们实现了两个信号处理函数或回调函数,这...
- **头文件**: 所有GTK+程序应包含`gtk/gtk.h`头文件,其中定义了GTK+的所有公共接口,包括变量、函数和数据结构。 - **初始化**: `gtk_init()`是每个GTK程序的起点,它负责初始化视频和颜色映射模式,并调用`gdk_...
- **Hello World**:通过一个简单的“Hello World”程序,介绍如何使用GTK+创建一个基本的窗口。这包括初始化GTK+环境、创建窗口、显示内容以及处理关闭事件等步骤。 - **编译**:介绍如何编译GTK+程序,通常涉及gcc...
用 GTK 来写 Hello World 编译 Hello World 程序 信号和回调函数的原理 事件 Hello World 详解 继续 数据类型 深入探索信号处理函数 改进了的 Hello World 组装构件 组装盒的原理 盒的细节 ...
4.2 我试着编译我写的一个Hello World小程序,不幸的是我失败了. 为什么呢? 4.3 如何使用编译工具make? 4.4 我在我的Makefile里面使用了后引用元素,为什么我的make失败了? 4.5 我想使用一些配置工具, 我该怎么...
- HELLOWORLD2实验进一步展示了如何改进回调函数,使数据能够被传递到回调函数中并通过标准输出打印出来。 - 在这个实验中,`callback()`函数接收了一个`gpointer`类型的参数`data`,这可以是任何类型的数据。 - ...
编译GTK+程序时,通常会使用`pkg-config`工具来获取所需的编译和链接选项,这可以确保与系统上安装的GTK+版本兼容。在Makefile中,`pkg-config --cflags --libs gtk+-2.0`分别获取编译标志和库链接,用于编译`hello....
gtk_window_set_title(GTK_WINDOW(window), "Hello World"); gtk_window_set_default_size(GTK_WINDOW(window), 600, 400); GtkWidget *button = gtk_button_new_with_label("Click me!"); g_signal_connect...
2.2.6 运行helloworld 17 2.3 Gnome应用程序 17 2.4 GNU C 编译器 18 2.4.1 使用 gcc 18 2.4.2 gcc 选项 18 2.5 初始化库 19 2.6 用popt分析参数 20 2.6.1 参数分析方法 20 2.6.2 GnomeHello程序的参数分析 22 2.7 ...
对于初学者,从创建一个简单的“Hello World”程序开始是理想的起点。若编译时遇到问题,如链接错误,确保`PKG_CONFIG_PATH`环境变量包含了GTK+和相关库的`.pc`文件路径。此外,熟悉`make`工具对于管理项目构建流程...
对于初学者,推荐先从简单的“Hello, World”程序开始,逐步过渡到复杂的UI设计。同时,理解GTK+的异步模型和数据模型视图控制器(MVC)模式也是至关重要的。 总之,"GNOME\GTK+教程两份(网页+PDF)"是一份宝贵的...
一旦环境准备就绪,就可以开始编写第一个GTK+程序了。最经典的例子是“Hello World”程序,通过它,开发者可以熟悉GTK+的基本结构和工作流程。这个程序将创建一个简单的窗口,并在其中显示文本。接下来,我们会探索...