1. 你好 arm-linux-gcc不能编译GTK+的问题你解决了没有
arm-linux-gcc不能编译GTK+?报什么错误,请仔细看看错误提示。可以从这两个思路去考虑,一是换其它版本的 arm-linux-gcc,二是看GTK+里的一些头文件是否定义不正确。是否是生成的Makefile不正确,或者是缺少X库等等问题。我感觉不是编译器的问题吧,请仔细看错误提示。
2. 怎么把整个GTK项目编译成为debug项目
可以project->Set Active Config,选中release版本,此后,按F5或F7编译所得的结果就是release版本。 Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。 至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的
3. 为什么arm-linux-gcc不能编译GTK+怎么样才能编译
看这个网站吧,对你有帮助的: http://www.weinet.com/linux/
4. linux的gcc如何编译gtk程序啊
因为gtk库需要链接库文件,可以通过pkg-config来获取gtk的库文件路径
5. Window下GTK+能不能静态编译进程序
分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。 上面的内容说明:Kconfig就是对应着内核的配置菜单。假如要想添加新的驱动到内核的源码中,可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就有途径选择我们的驱动,假如想使这个驱动被编译,还要修改该驱动所在目录下的Makefile。因此,一般添加新的驱动时需要修改的文件有两种(注意不只是两个)*Kconfig
config symboloptions
symbol就是新的菜单项,options是在这个新的菜单项下的属性和选项其中options部分有:1、类型定义:
每个config菜单项都要有类型定义,bool:布尔类型, tristate三态:内建、模块、移除, string:字符串, hex:十六进制, integer:整型例如config HELLO_MODULE
bool "hello test mole" bool类型的只能选中或不选中,tristate类型的菜单项多了编译成内核模块的选项,假如选择编译成内核模块,则会在.config中生成一个CONFIG_HELLO_MODULE=m的配置,假如选择内建,就是直接编译成内核影响,就会在.config中生成一个CONFIG_HELLO_MODULE=y的配置.2、依赖型定义depends on或requires
指此菜单的出现是否依赖于另一个定义config HELLO_MODULE
bool "hello test mole"
depends on ARCH_PXA
这个例子表明HELLO_MODULE这个菜单项只对XScale处理器有效,即只有在选择了ARCH_PXA,该菜单才可见(可配置)。3、帮助性定义
只是增加帮助用关键字help或---help---
更多详细的Kconfigconfig语法可参考: Second: 内核的Makefile内核的Makefile分为5个组成部分:
Makefile 最顶层的Makefile
.config 内核的当前配置文档,编译时成为顶层Makefile的一部分
arch/$(ARCH)/Makefile 和体系结构相关的Makefile
s/ Makefile.* 一些Makefile的通用规则
kbuild Makefile 各级目录下的大概约500个文档,编译时根据上层Makefile传下来的宏定义和其他编译规则,将源代码编译成模块或编入内核。顶层的Makefile文档读取 .config文档的内容,并总体上负责build内核和模块。Arch Makefile则提供补充体系结构相关的信息。 s目录下的Makefile文档包含了任何用来根据kbuild Makefile 构建内核所需的定义和规则。(其中.config的内容是在make menuconfig的时候,通过Kconfig文档配置的结果) 在linux2.6.x/Documentation/kbuild目录下有详细的介绍有关kernel makefile的知识。最后举个例子:
config MTD_flashtest
tristate “ap71 flash"这样当make menuconfig时 ,将会出现 ap71 flash选项。第三:修改该目录下makefile文档。
添加如下内容:obj-$(CONFIG_MTD_flashtest) += flashtest.o这样,当您运行make menucofnig时,您将发现ap71 flash选项,假如您选择了此项。该选择就会保存在.config文档中。当您编译内核时,将会读取.config文档,当发现ap71 flash 选项为yes 时,系统在调用/driver/mtd/maps/下的makefile 时,将会把 flashtest.o 加入到内核中。即可达到您的目的。
6. 指点一下,怎样编译gtk
本地编译还是交叉编译呢?
本地的话 apt-get 都可以安装好,或者/configure的时候,安装相应的依赖包,交叉编译的话,要依赖很多包,详细的可以找我。
7. 使用GTK+ 编写的代码,在编译时使用 gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0`
标准C的编译是需要指定除libc之外的链接库的。在gcc中,指定额外的库通过-lxxx的参数实现(L的小写),指定链接库位置采用-Lxxx的形式实现,如果头文件不是放到默认位置的话,需要-Ixxx来指定头文件搜索路径(i的大写)。如果用到了POSIX多线程的话,要指定-pthread选项。
由于编译GTK+程序所需要的连接的寻找的信息非常的多。非GTK+的开发者并不一定能够正确的指定所有需要追加到gcc中的选项。所以GTK+利用了一个专门的工具来生成编译GTK+程序所需要追加的选项,也就是pkg-config
pkg-config --cflags --libs gtk+-2.0的执行结果如下(环境是Qomo Linux 1.2)
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpng12 -lm -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmole-2.0 -lgthread-2.0 -lrt -lglib-2.0
在bash编程中,用反引号引起的内容实际效果是将反引号中的命令执行,并将输出结果作为脚本中的内容解释执行。所以gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0`实际上等价于
gcc base.c -o base -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpng12 -lm -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmole-2.0 -lgthread-2.0 -lrt -lglib-2.0
也即指定了使程序可以正常编译的选项。
pkg-config工具所生成的内容是在相关软件包编译时产生,放置在/usr/lib/pkgconfig目录下,以xxx.pc的文本文件形式存在,实际上是一个解决软件包之间编译依赖关系的一个配置记录工具。
8. 为什么LINUX编译时找不到gtk/gtk.h头文件啊.有没有懂LINUX编程的朋友能留下MSN以供交流一下啊
gcc -o test test.c `pkg-config --cflags --libs gtk+2.0`
试试吧
9. 为什么用gtk编译会这样啊 我是用 gcc helloworld.c -o helloworld`pkg-config --cflags --libs gtk+-2.0`
gcc helloworld.c -o helloworld`pkg-config --cflags --libs gtk+-2.0`
你要注意 pkg前面的点 和 gtk+2.0后面的点.
这个点是 Tab 上面的那个点, 也是 Q 上面的那个1的左边,
-o helloworld 的前面是 Tab键盘按出来的,不是空格,不然会出错,
我以前也和你一样,慢慢拉,加油学习~! 我现在学习GTK+,感觉GTK+比MFC好学多了,而且这个东西还跨平台,MFC都不跨平台,反正也是写界面,用GTK+就OKL俄~!哈哈哈哈和~!
10. 在头文件中含有#include <gtk/gtk.h>,但在通过gcc编译时会有”gtk/gtk.h,没有那个文件或目录”的提示,原
没有那么麻烦阿 你复制我的去吧
gcc -o **** *****.c `pkg-config --cflags --libs gtk+-2.0`
你要注意这个` 符号问题!
你去看我的那篇文章,我说过的.