导航:首页 > 源码编译 > glib静态编译

glib静态编译

发布时间:2023-01-26 22:54:15

Ⅰ ubuntu下怎么配置libdbus-glib环境, 能是下面程序编译通过 麻烦大哥们手把手教行吗急……急……

apt-get build-dep dbus

Ⅱ qt怎么自动选择配置的define参数

当进入解压好的源码包后,使用./configure –help命令,可以获得相应帮助,那我们只要选取参数部分看看

-release
这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。
-release
与上面对应,自然是调试版了,如果开发的话,可以选择它吧。
-debug-and-release
囧,上面那两个的儿子。
-developer-build
囧,我错了,开发者也可以用这个的,选了这个后,可以进行自动测试,不过还没去用过,以后可以研究研究。
-opensource
-commercial
这两个参数是指是编译是商业版本的,还是开源版本呢,视个人情况而定。
-shared
-static
这两个参数是指Qt的lib以动态还是静态编译生成,这自然也是视个人需要的。
-no-fast
-fast
这两个就很有关系,如果对自己的电脑性能很有信心,那就选第一个,那所有的工程文件都会生成到makefiles中,那编译的时间,估计可以看完变形金刚了。如果选第二个,那就加入子目录和库到makefiles,这样就能加快编译的速度。
-no-largefile
-largefile
顾名思义,支不支持大文件,一般来说,嵌入式里是不会有从超过4G的大文件的,那就选第一个吧。
-no-exceptions
-exceptions
计算机英语够好的人都该懂,这个自然就是异常情况,选则编译器支持抛出异常,否则不支持。
-no-accessibility
-accessibility
可访问性的支持,说实话,这个我真不知道有什么有用了。等哪天发现了,再来好好解释。
-no-stl
-stl
是都加入stl的支持,stl,这应该算是C++程序员应该都了解了,再不济,那也总听说过大名吧。
no-sql-<driver>
-qt-sql-<driver>
-plugin-sql-<driver>
这 个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数 据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的 需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称 可以自己查看参数里,有详细地介绍。
-system-sqlite
sqlite真受欢迎啊,当然那么优秀的嵌入式数据库,本人也是基本使用它来进行开发。这个参数意思是使用操作系统上的sqlite数据库,如果是不太会移植的,可以考虑直接使用qt自带的驱动。
-no-qt3support
-qt3support
这个也是简洁易懂,加不加对qt3的支持。
no-xmlpatterns
-xmlpatterns
选择对xml的支持,如果对网络无需求的话,就不用加了。
-no-phonon
-phonon
phonon是qt中处理多媒体的模块,比如放放视频什么来着,不过本人从没用过,也是根据需要选择的。
-no-phonon-backend
-phonon-backend
与上面类似,只不过这两是以插件的形式加入支持。
-no-svg
-svg
是否加入svg的支持,svg即可缩放矢量图形。
-no-webkit
-webkit
是否加入webkit的支持,这可是个好东西,不过如果跟网络不搭界的话,还是不支持吧。
-no-scripttools
-scripttools
是否加入脚本工具的支持,这对php等脚本工程师来说是个很棒的参数,但对于我这样菜鸟,就别提了。
-platform target
目标平台,这可是关键了,如果不注意的话,编译出来是x86上的话,哪怕是再牛的嵌入式工程师来也没法帮你移植到开发板上。通常,本人是linux-arm-g++。
-no-mmx
-no-3dnow
-no-sse
-no-sse2
这四个参数是针对CPU的指令集,老实说,我也不甚了解,不过,对于开发并不是影响很大。
-qtnamespace
把qt的库封装到命名空间,没啥重要用处,依个人爱好加吧。
-qtlibinfix
将所有的qt的.so库重命名,也没啥大用处。
-no-sql-<driver>
-qt-sql-<driver>
-plugin-sql-<driver>
-system-sqlite
这是相当明显的,如果这都看不出来,,囧,那您一定比我近视(本人800度近视。。)
就 是说如果是-no-XX-,就说明编译时不选择这个参数,如过是-qt-XX-,说明我们可以编译直接选用qt自带的驱动,如果是 -plugin-XX-,就是将驱动以插件形式编译,而-system-XXX,当然是使用操作系统提供的驱动,不过那就需要您自己移植了,而且有时还要 用第三方的API,就方便来说非常麻烦,但是不排除您是牛人要好好玩玩的情况。
接下来,我们接着研究配置参数。
-qt-zlib
-system-zlib
想 必经过上面的讲解,参数的意思已经很快得知,就是选择qt带的zlib库还是系统的zlib。zlib库是用于文件和资料压缩的库,对于新入嵌入式的人来 说,可能并无太大的用处,但是在以后的实际开发中,特别是对于多媒体图像图形的工程师来说,就肯定用到,因为图形图像的压缩都要使用或涉及到这个库。
-no-gif
-qt-gif
这是选择gif的支持,如果选择qt支持的话,那在用qt开发的项目中,就能显示gif图,gif也是比较普遍的图片格式了,英文全称是Graphics Interchange Format。
-no-libtiff
-qt-libtiff
-system-libtiff
tiff是一种非常复杂的光栅图像格式,并且有直接现成的C语言实现库,因此选择参数时就有了qt和system,一般来说,科学相关的开发里可能会用到。
-no-libpng
-qt-libpng
-system-libpng
png的相关参数,一种非失真性压缩位图图形文件格式,其实就是为了替代gif搞出来的,也是随实际需要来选择,当然,也有C语言实现的库。
-no-libmng
-qt-libmng
-system-libmng
大汗,大汗,这可是超级罕见的东西,QT竟然也能支持,说实话,这个参数我看来就是无视的。MNG是多帧PNG动画格式,结构极其复杂,基本没人用。
-no-libjpeg
-qt-libjpeg
-system-libjpeg
jpeg,这么有名的图片格式也不用说了,随需要选择吧。
-no-openssl
-openssl
-openssl-linked
SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认,而OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件 包,在qt中,我们可以选择直接支持,或者OpenSSL链接支持,这个参数也是为有需要者提供的。
以上是第三方库的参数选择,紧接着就是qt附加参数,在附加参数里,我们可以指定编译的部分及加入参数来获取信息。
-make
-nomake
一 句话,说明,就说我可以这两个参数选择哪些我要编译,哪些我不需要,在 libs tools examples demos docs translations这些里你可以选择,比如examples,并不重要,可以放在-nomake后,这样编译过程中就不会编译这部分了。通过适当的 选择,我们可以大大加快编译的速度,这对配置较差的机子来说有着积极意义。
-R <string>
-l <string>
这两个参数是为编译时增加一个库的运行路径及头文件的路径,比如使用tslib作为开发触摸驱动时,我们就应使用这两个参数来指定tslib的库路径和头文件路径。
-no-rpath
-rpath
这个参数比较难于理解,简单地说,就是告诉动态加载器,到-rpath指定的目录中寻找编译时须要的动态链接库,语法就与上面的参数结合,比如 -rpath -R/home/xxxx。
-continue
这个参数的作用就是当出现错误时依然进行配置编译,换我是不会加上的。
-verbose, -v
这个参数就很眼熟,在前面的文章中有过详细介绍,简言之,就是显示配置的每一步的具体信息。
-no-optimized-qmake
-optimized-qmake
是否编译生成优化过的qmake,没啥大用,也属于可有可无的参数。
-no-nis
-nis
是否编译NIS支持,NIS(网络信息服务)是一个提供目录服务的RPC(远程过程调用)应用服务,当然没网络需要的可以再次华丽地无视。
-no-cups
-cups
是 否编译CUPS支持,是不是想问什么用啊?~~~~囧,开打印店用的。好了,不说冷笑话,CUPS给Unix/Linux用户提供了一种可靠有效 的方法来管理打印。它支持IPP,并提供了LPD,SMB(服务消息块,如配置为微软WINDOWS的打印机)、JetDirect等接口。CUPS还可 以浏览网络打印机。它的开发提供者是大名鼎鼎的“水果生产商”----苹果公司。
-no-iconv
-iconv
选择是否编译iconv支持,iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。这对跨语言Qt开发人员来说是很有用的,当然,考虑到中文的编码,我也选择加入支持。
-no-pch
-pch
是 否支持预编译过的头文件。预编译头就是把一个工程中的一部分代码,预先编译好放在一个文件里(通常以.pch为扩展名),这个文件就称为预编译头 文件。这些预先编译好的代码在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。妈妈经常说:不懂就要学。我说:不 懂就加上。。。
no-dbus
-dbus
-dbus-linked
是否编译编译QtDBus模块。dbus是freedesktop下开源的Linux IPC通信机制,本身Linux 的IPC通信机制包括,管道(fifo),共享内存,信号量,消息队列,Socket等。在Qt中DBUS是有单独的模块的,可见其重要性。

-rece-relocations 对于额外的库链接器优化,可以减少编译中的再定位。
no-separate-debug-info
-separate-debug-info
是否存储debug信息在.debug,一般为了查错,还是选择存储吧。
-xplatform target
相当浅显的参数,即交叉编译的目标平台,一般来说根据你所要移植的目标板来确定。
-no-feature-<feature>
-feature-<feature>
选 取qte的feature编译,对于这个,我理解为特性,特性的描述你可以参考src/corelib/global/qfeatures.txt,在这 里面对于每个特性都有比较充分的讲解。对于特性地选择,也是要根据开发需求进行,如果裁剪适当,能大大为qte库瘦身。
-embedded <arch>
嵌入式平台架构选择,可以选择arm,mips,x86及generic,视你的目标平台决定吧。
-armfpa
-no-armfpa
这个参数也只是针对ARM平台的,是否加入对于基于ARM的浮点数格式的支持,通常,这个参数在编译时会自动选择。
-little-endian
-big-endian
目标平台的大端和小端选择,这应该是常识了,如果这不知道,就不要来混嵌入式了
-host-little-endian
-host-big-endia
主机平台的大端和小端选择,属于鸡肋的参数,不选择也会在配置时自动选择。
-no-freetype
-qt-freetype
-system-freetype
选择freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,在嵌入式开发中,有套可使用的字体对于中文开发至关重要,本人一般使用文泉驿字体。
-qconfig local
使用本地的qconfig配置文件来替代全部参数配置,有需要的可以去研究下,可以裁剪控件级别的参数。
-depths <list>
显示的像素位深,也是根据需要来进行吧。
-qt-decoration-<style>
-plugin-decoration-<style>
-no-decoration-<style>
这个是选择qt的样式风格,对于需要美化界面的项目来说,可以好好选择下。
-no-opengl
-opengl <api>
是否加入opengl的支持,OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。不过对于一般的开发来说,似乎有很少用到的地方。
-qt-gfx-<driver>
-plugin-gfx-<driver>
-no-gfx-<driver>
这个是相当重要的一个参数,选择QtGui的图形显示驱动,比如我们在pc上使用qvfb模拟时,就应该加入对qfvb的支持。我们可以在 linuxfb,transformed,qvfb,vnc,multiscreen这几个中选择。在平常的开发板上,选择linuxfb即可。
-qt-kbd-<driver>
-plugin-kbd-<driver>
-no-kbd-<driver>
选择键盘的驱动支持,可以支持usb键盘,串口键盘等等,也是在tty,usb ,sl5000, yopy, vr41xx ,qvfb中选择。
qt-mouse-<driver>
-plugin-mouse-<driver>
-no-mouse-<driver>
鼠标的驱动支持,一般都会选择tslib,可以完美地支持触摸屏,在pc,bus,linuxtp,yopy,vr41xx,tslib,qvfb中选择吧。
-iwmmxt
加入iWMMXt指令的编译,也只是部分XScale架构才具有。
-no-glib
-glib
是否加入glib库的支持,glib库对应即gtk库,就也是说加入后可以使用gtk。

Ⅲ 我在安编译glib遇到这个问题怎么解决gclosure.c:27:17: fatal error: ffi.h: No such file or directory

需要安装libffi-dev包,你用的什么系统?如果是ubuntu或者debian的话,运行:
sudo apt-get install libffi-dev

Ⅳ 怎么在 windows 下编译 pidgin-lwqq

参考lwqq/wiki配置好编译环境
下载lwqq并放在lwqq_root/lwqq目录下并编译
新建的文件夹必须为build,查找路径是写死了的
使用 cmake .. -G "MSYS Makefiles" -DWIN32_LIBS_DIR=... -DWITH_LIBUV=Off -DWITH_LIBEV=Off 编译.因为异步直接使用pidgin内置的支持来完成
从这里下载pidgin的源代码,并且解压缩到lwqq_root/pidgin目录下,根据BuildWinPidgin编译Windows版本的Pidgin(其实主要是为了获取libpurple)
pidgin/win32/gtkdocklet-win32.c

pidgin/win32/gtkwin32dep.c
pidgin/win32/wspell.c 在 #include <windows.h> 前面添加 #include "internal.h"
pidgin/plugins/win32/winprefs/winprefs.c 将 #include "internal.h" 放在 #include <gtk/gdkwin32.h> 前面
为了方便可以直接将下面的文本复制为patch.sh,放在pidgin目录下并用 sh patch.sh来自动替换:
sed -i '0,/^#include.*/s//#include "internal.h"\n&/' \
pidgin/win32/gtkdocklet-win32.c \
pidgin/win32/gtkwin32dep.c \
pidgin/win32/wspell.c \
pidgin/plugins/win32/winprefs/winprefs.c

一些包的名字有问题,应该是源代码不是最新的缘故:nss的那个包文件夹名字为nss-3.13.6-nspr-4.9.2以及pidgin-inst-deps-20120910
在win8下编译,会因为wstcpip和winsock的冲突,导致无法编译,需要调整include的顺序:将 #include "internal.h" 放在 #include <windows.h> 前面,在以下文件中
在这里下载并解压缩到win32-dev中
使用 make -f Makefile.mingw install 编译
在第2步中就会获取glib的依赖,所以这里不用再做什么.
在这里下载spider monkey的mingw32预编译好的包,解压缩到win32-dev/js-1.8.5-mingw32目录下.
需要使用在上面提供的依赖的压缩包文件,如果是随意复制其它来源的dll(如pthreadGC2.dll会导致这些dll依赖libgccsw***.dll 从而使得静态链接的libwebqq.dll失效,直接导致了pidgin退出的时候出现异常错误)
prepare directly
也可以直接下载整理好的傻瓜包中的pidgin-dependencies.7z和pidgin-lwqq-dependencies.7z直接解压缩到win32-dev中,pidgin源代码中需要修改的文件放在了pidgin-dependencies/pidgin目录下了。
build
打开一个MinGW Shell,进入lwqq_root目录,输入
git clone https://github.com/xiehuc/pidgin-lwqq.git
git submole init
git submole update
cd pidgin-lwqq
mkdir build;cd build
cmake .. -G "MSYS Makefiles" -DWIN32_LIBS_DIR=`lwqq_root/win32-dev`的绝对路径 -DPACKAGE=ZIP
make

最后,就可以在build/src目录下获得libwebqq.dll. PACKAGE选项可以自动打包成zip文件,使用make package之后可以在build目录下获得zip包
install
将制作的zip包解压缩到pidgin的根目录即可。执行pidgin就可以在协议中看到WebQQ协议了

Ⅳ 如何使用gcc在EditPlus编辑器下对GTK程序进行静态编译

GTK的安装

sudo apt-get install vim #使用vim来编写代码,当然您可以使用任何自己喜欢的编辑器

sudo apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具

sudo apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

sudo apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置

sudo apt-get install devhelp #这将安装 devhelp GTK文档查看程序

sudo apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档

sudo apt-get instal glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库。在Ubuntu的机器上折腾了一下,复制了网上教程的代码在本机上编译。代码的文件名:t1.c。按照教程,用以下命令编译:

gcc t1.c 'pkg-config --cflags --libs gtk+-2.0`

编译结果:找不到gtk/gtk.h。

因为我的Ubuntu是Gnome系统,所以我以为gtk+2.0的开发程序(头文件和库文件)应该已经安装在计算机上了。其实不然,如果在Ubuntu 上开发gtk+2.0的程序,需要安装相应的头文件和库。在控制台窗口输入sudo apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。再次应用编译命令:gcc t1.c 'pkg-config --cflags --libs gtk+-2.0,编译通过,运行。

pkg-config是一个用来管理包的程序,在控制台输入 pkg-config --cflags --libs gtk+-2.0 的运行结果:

-DPNG_NO_MMX_CODE -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/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmole-2.0 -ldl -lglib-2.0

可以看出,输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。

这里有一点需要注意, gcc t1.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。
$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest
gcc gtk1.c `pkg-config --cflags --libs gtk+-2.0`

//////////////////////////////////////////////////////////////////////////////////////////////////////

首先获得超级用户权限

apt-get install vim #使用vim来编写代码,当然您可以使用任何自己喜欢的编辑器
apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具
apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置
apt-get install devhelp #这将安装 devhelp GTK文档查看程序
apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档
apt-get instal glade libglade2-dev #这将安装基于GTK的界面构造程序

都是安装好后测试一下程序hello.c

#include <gtk/gtk.h> ----------我编译时老是说找不到头文件,后来在/usr/include里找到gtk-2.0/gtk/gtk.h,原来是路径错误,最后将头文件路径修改为<gtk-2.0/gtk/gtk.h>,终于好了!

void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello 大家好\n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
{
g_print ("delete event occurred\n");
return(TRUE);
}
void destroy(GtkWidget *widget,gpointer data)
{
gtk_main_quit();
}
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *button;
gtk_init (&argc, &argv);
window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Hello 大家好");
gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC(gtk_widget_destroy),GTK_OBJECT (window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window); /*显示一个窗口*/
gtk_main(); /*进入主循环*/
return(0);
}

最后编译运行:

$ gcc hello.c -o hello `pkg-config --cflags --libs gtk+-2.0`
$ . /hello

////////////////////////////////////////////////////////////////////

GTK的安装

sudo apt-get install vim #使用vim来编写代码,当然您可以使用任何自己喜欢的编辑器

sudo apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具

sudo apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

sudo apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置

sudo apt-get install devhelp #这将安装 devhelp GTK文档查看程序

sudo apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档

sudo apt-get instal glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库。在Ubuntu的机器上折腾了一下,复制了网上教程的代码在本机上编译。代码的文件名:t1.c。按照教程,用以下命令编译:

gcc t1.c 'pkg-config --cflags --libs gtk+-2.0`

编译结果:找不到gtk/gtk.h。

因为我的Ubuntu是Gnome系统,所以我以为gtk+2.0的开发程序(头文件和库文件)应该已经安装在计算机上了。其实不然,如果在Ubuntu 上开发gtk+2.0的程序,需要安装相应的头文件和库。在控制台窗口输入sudo apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。再次应用编译命令:gcc t1.c 'pkg-config --cflags --libs gtk+-2.0,编译通过,运行。

pkg-config是一个用来管理包的程序,在控制台输入 pkg-config --cflags --libs gtk+-2.0 的运行结果:

-DPNG_NO_MMX_CODE -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/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmole-2.0 -ldl -lglib-2.0

可以看出,输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。

这里有一点需要注意, gcc t1.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。

$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest

gcc gtk1.c `pkg-config --cflags --libs gtk+-2.0`

Ⅵ 在编译程序时报错,glib.h没有这个文件或目录,我用yum install试了不行,该怎么办,我需要glib2.0版本

yum whatprovides glib.h

找出要装的包,
然后用
yum install 包名
不一定是2.0的包。如果不是你可以到网上搜一下,2.0的rpm包,然后用rpm -ivh 包名安装。

Ⅶ 请教rpm包中glib和glib-devel的包与GLIB源码编译区别

devel 包主要是供开发用,至少包括以下2个东西: 1. 头文件 2. 链接库 有的还含有开发文档或演示代码。 以 glib 和 glib-devel 为例: 如果你安装基于 glib 开发的程序,只需要安装 glib 包就行了。 但是如果你要编译使用了 glib 的源代码

Ⅷ 编译glib缺少pkg-config怎么办

步骤一:部署protoc.exe 1)sudo su ---进入管理模式 //以下操作切换至protobuf文件夹下 2)./configure 3)make 4)make check 5)make install 此时可以查看protobuf文件夹下面的makefile文件,可以查看-build表示的本机环境以及-host表示的编译

Ⅸ 如何在Ubuntu上编译qnx的glib

main()
{
int a,b;
a=077;
b=a|3;
printf("\40: the a & b(decimal) is %d \n",b);
b|=7;
printf("\40: the a & b(decimal) is %d \n",b);
}

阅读全文

与glib静态编译相关的资料

热点内容
宁夏品质压缩机市场 浏览:185
日立螺杆压缩机维修 浏览:426
识别英语单词哪个app比较好 浏览:187
夫人被家丁强奸的泰国电影? 浏览:256
书香门第小说txt下载 浏览:454
服输电影 浏览:814
女程序员手腕磨印子 浏览:864
5周岁看电影可以吗 浏览:901
男女亲热把房子弄倒的韩国电影 浏览:979
什么APP看台湾节目 浏览:350
csgo如何看服务器 浏览:894
有一部美国电影叫什么花? 浏览:138
命令行安装dmg 浏览:646
阿加莎无人生还电影免费观看 浏览:256
能看的那种网你知道几个 浏览:115
关闭命令在 浏览:660
吃鱼子全死了的电影 浏览:551
柬爱女老板开美容院的女主叫什么 浏览:337
在线观看地址有推荐吗 浏览:709
铁岭新玛特大地影院节目表 浏览:181