gtk编译程序命令
Ⅰ 在头文件中含有#include <gtk/gtk.h>,但在通过gcc编译时会有”gtk/gtk.h,没有那个文件或目录”的提示,原
你试试在终端用pkg-config命令查查看需要用-I参数指定哪些目录才能用gtk。
pkg-config --cflags gtk+-2.0
我执行这个命令后输出的是
-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/gio-unix-2.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
把你执行这个命令后输出的那一段复制后添加在你gcc的命令行再编译试试看。
Ⅱ ubuntu中用gcc编译gtk+时出错:undefined reference to `main'
为什么你要加“蚂大-x"呢?去掉试一试,或许就是"滑亏main"错写信物神了“mian"之类的……
Ⅲ linux下怎么安装gtk啊
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 install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的念山c/c++语言图形库。apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。
应用程序编译命令:gcc test.c `pkg-config --cflags --libs gtk+-2.0`,编译通过,运行正常。
Ⅳ ubuntu系统怎么安装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`
Ⅳ 如何在配置Windows下的GTK+开发环境 00 半瓶墨水
Windows下也可以使用gtk+编程,就像widows下也可以使用qt编程一样,不同的是,qt是基于c++的类,和在windows下配置qt开发环境相比,配置gtk要简单的多,当然,其实两样都一样的简单,只不过在安装qt时我遇到了版本号的问题,不过从时间上来说gtk的安装也更省时间点,包括从下载的库来看gtk都比qt小得多,好吧,说了一些乱七八糟的东西,现帆凯在开始
首先得先下载gtk库,这个可以到谷歌去搜索gtk for windows好吧,还是我直接给链接吧,我不确定这个会一直有效
http://www.gtk.org/download/win32.php
全都是英语,不过没关系,我们只需要下载all-in-one bundle
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip
当然如果你想要按着自己的方式下载我也没意见
好了,下载完后将zip文件解压到指定目录(这里说明一下,你最好安装一个mingw)
然后我们设置一下环境路径
我的电脑---属性---高级---环境变量
在用户变量或者是系统变量那里找到PATH,没有也可以自己创建,我一般喜欢使用用户环境变量,然后加上我们gtk安装的路径下的bin目录,比如我的安装在C;\mingw\gtk+\bin,多个环境路径之间用分号分开,这个不用我说了吧
好了,如果你是用的用户环境变量,那么保存后不需要重启就会生效,如果是系统环境变量的话可能你需要重启后才能生效
现在我们写一个简单的gtk程序
#include <gtk/gtk.h>
int main(int argc,char **argv)
{
GtkWidget *win;
gtk_init(&argc,&argv);
win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(win);
g_signal_connect(G_OBJECT(win),"destroy",GTK_SIGNAL_FUN(gtk_main_quit),NULL);
gtk_main();
return 0;
}
现在我们使用gcc在msys下进行编译
gcc -o gtk gtk.c `pkg-config --cflags --libs gtk+-2.0` -mwindows
不出意外你就可以执行gtk.exe并打开一个窗口了
-mwindows选项主要是为了程序运行时没有dos窗口,不加的话执行时会有一个dos窗口,如果你没有安装msys的话,比如你装的是dev-cpp的话那么你可能要在命令提示行下这样做才能编译
pkg-config --cflags --libs gtk+-2.0>arg.bat
然后打开arg.bat在那一大堆字符串前加上gcc -o gtk gtk.c 然后在最后面加上 -mwindows,保存退出后再arg就可以正确编译了
这主要是因为我们在编译gtk程序的时候要指定包含文件路径,链接库的路径等等,而这些使用pkg-config加上上面的参数可以得到,而在linux下使用``在反引号之间的内容作为单独的命令并进行运行,然后用结果替换掉当前反引号之态源唤间的内容,这就是为什么用bat文件要这样做的原因,如果cmd下也有这样的操作的话那么可以像在linux下那样去做,所以如果你安装了msys+mingw开发环境的话,会比较简单,而如果是dev-cpp的话裂悔要费点力气,而如果是vs的话,好吧,我还没试过
Ⅵ gcc编译器究竟怎么打开我竟然在gcc的安装文件夹中找不到gcc的打开文件
你先用vim 或者直接用gedit编写好程序,然后直接输入命令就可以了,比如你的程序是helloworld.c,那么你可以输入命令:
编译命令:gcc -o helloworld helloworld.c
运行命令./helloworld
希望这样的回答对你有帮助!
gcc的使用方法
1。gcc包含的c/c++编译器
gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译
2。gcc的基本用法
gcc test.c这样将编译出一个名为a.out的程序
gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字
3。为什么会出现undefined reference to 'xxxxx'错误?
首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有指定链接程序要用到得库,比如你的程序里用到了一些数学函数,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命令行里加入-lm。
4。-l参数和-L参数
-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?
就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。
好了现在我们知道怎么得到库名了,比如我们自已要用到一个第三方提供的库名字叫libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,我们就能用上libtest.so库了(当然要用libtest.so库里的函数,我们还需要与libtest.so配套的头文件)。
放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,这时我们只用-l参数的话,链接还是会出错,出错信息大概是:"/usr/bin/ld: cannot find -lxxx",也就是链接程序ld在那3个目录里找不到libxxx.so,这时另外一个参数-L就派上用场了,比如常用的X11的库,它放在/usr/X11R6/lib目录下,我们编译时就要用-L/usr/X11R6/lib -lX11参数,-L参数跟着的是库文件所在的目录名。再比如我们把libtest.so放在/aaa/bbb/ccc目录下,那链接参数就是-L/aaa/bbb/ccc -ltest
另外,大部分libxxxx.so只是一个链接,以RH9为例,比如libm.so它链接到/lib/libm.so.x,/lib/libm.so.6又链接到/lib/libm-2.3.2.so,如果没有这样的链接,还是会出错,因为ld只会找libxxxx.so,所以如果你要用到xxxx库,而只有libxxxx.so.x或者libxxxx-x.x.x.so,做一个链接就可以了ln -s libxxxx-x.x.x.so libxxxx.so
手工来写链接参数总是很麻烦的,还好很多库开发包提供了生成链接参数的程序,名字一般叫xxxx-config,一般放在/usr/bin目录下,比如gtk1.2的链接参数生成程序是gtk-config,执行gtk-config --libs就能得到以下输出"-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmole -lglib -ldl -lXi -lXext -lX11 -lm",这就是编译一个gtk1.2程序所需的gtk链接参数,xxx-config除了--libs参数外还有一个参数是--cflags用来生成头文
件包含目录的,也就是-I参数,在下面我们将会讲到。你可以试试执行gtk-config --libs --cflags,看看输出结果。
现在的问题就是怎样用这些输出结果了,最苯的方法就是复制粘贴或者照抄,聪明的办法是在编译命令行里加入这个`xxxx-config --libs --cflags`,比如编译一个gtk程序:gcc gtktest.c `gtk-config --libs --cflags`这样就差
不多了。注意`不是单引号,而是1键左边那个键。
除了xxx-config以外,现在新的开发包一般都用pkg-config来生成链接参数,使用方法跟xxx-config类似,但xxx-config是针对特定的开发包,但pkg-config包含很多开发包的链接参数的生成,用pkg-config --list-all命令可以列出所支持的所有开发包,pkg-config的用法就是pkg-config pagName --libs --cflags,其中pagName是包名,是pkg-config--list-all里列出名单中的一个,比如gtk1.2的名字就是gtk+,pkg-config gtk+ --libs --cflags的作用跟gtk-config --libs --cflags是一样的。比如:gcc gtktest.c `pkg-config gtk+ --libs --cflags`。
5。-include和-I参数
-include用来包含头文件,但一般情况下包含头文件都在源码里用#include xxxxxx实现,-include参数很少用。-I参数是用来指定头文件目录,/usr/include目录一般是不用指定的,gcc知道去那里找,但是如果头文件不在/usr/include里我们就要用-I参数指定了,比如头文件放在/myinclude目录里,那编译命令行就要加上-I/myinclude参数了,如果不加你会得到一个"xxxx.h: No such file or directory"的错误。-I参数可以用相对路径,比如头文件在当前目录,可以用-I.来指定。上面我们提到的--cflags参数就是用来生成-I参数的。
6。-O参数
这是一个程序优化参数,一般用-O2就是,用来优化程序用的,比如gcc test.c -O2,优化得到的程序比没优化的要小,执行速度可能也有所提高(我没有测试过)。
7。-shared参数
编译动态库时要用到,比如gcc -shared test.c -o libtest.so
8。几个相关的环境变量
PKG_CONFIG_PATH:用来指定pkg-config用到的pc文件的路径,默认是/usr/lib/pkgconfig,pc文件是文本文件,扩展名是.pc,里面定义开发包的安装路径,Libs参数和Cflags参数等等。
CC:用来指定c编译器。
CXX:用来指定cxx编译器。
LIBS:跟上面的--libs作用差不多。
CFLAGS:跟上面的--cflags作用差不多。
CC,CXX,LIBS,CFLAGS手动编译时一般用不上,在做configure时有时用到,一般情况下不用管。
环境变量设定方法:export ENV_NAME=xxxxxxxxxxxxxxxxx
9。关于交叉编译
交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上,比如在我们地PC平台(X86 CPU)上编译出能运行在sparc CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到sparc CPU平台上才能运行。
当然两个平台用的都是linux。
这种方法在异平台移植和嵌入式开发时用得非常普遍。
相对与交叉编译,我们平常做的编译就叫本地编译,也就是在当前平台编译,编译得到的程序也是在本地执行。
用来编译这种程序的编译器就叫交叉编译器,相对来说,用来做本地编译的就叫本地编译器,一般用的都是gcc,但这种gcc跟本地的gcc编译器是不一样的,需要在编译gcc时用特定的configure参数才能得到支持交叉编译的gcc。
为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀,比如sparc-xxxx-linux-gnu-gcc,sparc-xxxx-linux-gnu-g++ 等等
10。交叉编译器的使用方法
使用方法跟本地的gcc差不多,但有一点特殊的是:必须用-L和-I参数指定编译器用sparc系统的库和头文件,不能用本地(X86)
的库(头文件有时可以用本地的)。
例子:
sparc-xxxx-linux-gnu-gcc test.c -L/path/to/sparcLib -I/path/to/sparcInclude
Ⅶ Deepin安装GTK无法调用gtk/gtk.h
在命令行单独执行一下“pkg-config --cflags --libs gtk+-2.0”这个命令,看看结弯差果如何。
其实,要让gcc搜索相应目录,只需要加上-I命令,即:gcc main.c -o main -I/usr/include/gtk-2.0
上面这个pkg-config命令就是用来配置-I等参数的。
如果gcc报游悔告找不到gtk/gtk.h,就说明-I参数配置不对或者没有配置。
PS:除了头文件,还需要配置库目录和引用库相关信息,所以才会使用pkg-config命令来简化配置神闹正操作。
Ⅷ 为什么老是说找不到 gtk/gtk.h
可能是你GTK版本的问题,你那个版本可能是装绝好不了.
----------------------------------------
如果还是不行,你就在默认的目并让铅录下面滑帆做一个硬连接.
Ⅸ 如何编译wxWidgets示例程序
wxWidgets
wxWidgets是一个程序开发框架/库, 允许你在Windows、Mac、Linux中使用相同的代码跨平台开发。它主要用C++写成,但也可以与其他语言绑定比如Python、Perl、旅察Ruby。
本教程中我将向你展示如誉茄何在基于Debian的linux中如Ubuntu和Linux Mint中编译wxwidgets 3.0+。
从源码编译wxWidgets并不困难,仅仅需要几分钟。库可以按不同的方式来编译,比如静态或者动态库。
1. 下载 wxWidgets
第一步你需要从wxwidgets.org下载wxWidgets源码文件。
做完后,解压到目录。
2. 设置编译环境
要编译wxwidgets,我们需要一些工具包括C++编译器,在Linux上是g++。所有这些可以通过apt-get工具从仓库中安装。
我们还需要wxWidgets依赖的GTK开发库。
$ sudo apt-get install libgtk-3-dev build-essential checkinstall
这个叫做checkinstall的工具允许我们为wxwidgets创建一个安装包,这样之后就可以轻松的使用包管理器来卸载。
3. 编译 wxWidgets
进入到wxWidgets解压后的目录。为了保持清洁,创建一个编译用的目录。
$ mkdir gtk-build
$ cd gtk-build/
现在运行configure和make命令。每个将花费一些时间来完成。
$ ../configure --disable-shared --enable-unicode
$ make
"--disable-shared"选项将会编译静态库而不是动态库。
make命令完成后,编译就成功了。是时候安装wxWidgets到正确的目录。
更多信息请参考install.txt和readme.txt,这可在wxwidgets中的/docs/gtk/目录下找到。
4. 安装 checkinstall
现在我们不使用"make install"命令,我们使用checkinstall命令来创建一个wxwidgets的deb安装包。运行命令:
$ sudo checkinstall
checkinstall会询问几个问题,请保证在提问后提供一个版本号,否则将会失败。
完成这一切后,wxWidgets就安装好了,deb文件拆虚茄也会创建在相同的目录下。
5. 追踪安装的文件
如果你想要检查文件安装的位置,使用dpkg命令后面跟上checkinstall提供的包名。
$ dpkg -L package_name
/.
/usr
/usr/local
/usr/local/lib
/usr/local/lib/libwx_baseu-3.0.a
/usr/local/lib/libwx_gtk3u_propgrid-3.0.a
/usr/local/lib/libwx_gtk3u_html-3.0.a
/usr/local/lib/libwxscintilla-3.0.a
/usr/local/lib/libwx_gtk3u_ribbon-3.0.a
/usr/local/lib/libwx_gtk3u_stc-3.0.a
/usr/local/lib/libwx_gtk3u_qa-3.0.a
/usr/local/lib/libwx_baseu_net-3.0.a
/usr/local/lib/libwxtiff-3.0.a
6. 编译示例
编译wxWidgets完成后就可以马上编译示例程序了。在相同的目录下,一个新的sample目录已经创建了。
进入它并运行下面的命令
$ compile samples
$ cd samples/
$ make
make命令完成后,进入sample 子目录,这里就有一个可以马上运行的Demo程序了。
7. 编译你的第一个程序
你完成编译demo程序后,可以写你自己的程序来编译了。这个也很简单。
假设你用的是C++,这样的话你还可以使用编辑器的高亮特性。比如gedit、kate、kwrite等等。或者用全功能的IDE像Geany、Codelite、Codeblocks等等。
然而你的第一个程序只需要用一个文本编辑器来快速完成。
如下:
#includewx.h>
classSimple:public wxFrame
{
public:
Simple(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250,150))
{
Centre();
}
};
classMyApp:public wxApp
{
public:
boolOnInit()
{
Simple*simple =newSimple(wxT("Simple"));
simple->Show(true);
returntrue;
}
};
wxIMPLEMENT_APP(MyApp);
现在保存并用下面的命令编译。
# compile
$ g++ basic.cpp `wx-config --cxxflags --libs std`-o program
# run
$ ./program
Ⅹ 包含#include<gtk/gtk.h>,链接显示未定义的引用
我察毕也遇到了这种情况,你看一下你的编译命令是不是这样的:
gcc `pkg-config --cflags --libs gtk+-2.0` gtktest.c -o gtktest.out
编译命令这败银芹搏搏样写就可以了:
gcc gtktest.c -o gtktest.out `pkg-config --cflags --libs gtk+-2.0`