gdk編譯
A. vc下能不能用gtk
1.下載:
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.12/glib-2.12.11.zip
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.12/glib-dev-2.12.11.zip
這是別人已經編譯好的GTK,一個是runtime,主要是 .dll,另一個是win32開發用的文件集。主要是.h和.lib文件。
2. 安裝:
先安裝好runtime,注意環境變數path要手動加入那些.dll所在的目錄。然後再安裝後者,把.h加入VC++6的"include files"比較麻煩。總之,在vc++6 menu->tools->options->directories裡面的把所有安裝完成後包含.h的目錄,以及這個目錄裡面的子目錄都加入"include files"就不會報錯,如果報錯,估計是少glibconfig.h等,這些在你安裝目錄下lib目錄裡面,你查查,而後,拷貝到.h或者把這些目錄也加入"include files"都可。最後,把lib加入到 "library files"裡面。
3. 測試:
建立一個工程。在project setting的link裡面,去掉那些.lib文件,加入如下:
glib-2.0.lib gtk-win32-2.0.lib gdk-win32-2.0.lib gobject-2.0.lib gdk_pixbuf-2.0.lib gthread-2.0.lib gmole-2.0.lib pango-1.0.lib intl.lib 。而後,在.cpp文件裡面粘貼如下代碼:
#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;
}
編譯,如果有提示,在project setting的 c/c++裡面刪除一些stdafx.h等字樣的參數。必要時查看一下cl.exe編譯器的幫助
B. raspberry 編譯gdk需要多久
一.Raspberry Pi入門向導。
可以在以下地址下載Raspberry向導
4.設置引導區
引導區必須包含以下文件,你可以從官方鏡像里獲取(bootable/fat32 partition)也可以從書面步驟中復制過來:
bootcode.bin:第二階段的引導程序,
loader.bin:第三階段的引導程序,
start.elf:GPU二進制固件映像,
kernel.img操作系統的內核鏡像文件,
cmdline.txt:傳遞給內核的參數.
5.設置root文件系統分區
ROOTFS分區包含android文件系統,是從<your_android_framework_path>/out/target/proct/rpi/root復制過來的。
cp -r <your_android_framework_path>/out/target/proct/rpi/root/* /media/ROOTFS/
6.完成上述步驟之後,將其放在Raspberry Pi上跑。
C. gdk編碼收錄的漢字元號為什麼cmd不能編譯出帶漢字元號的Java程序
xp的cmd不顯示中文吧,w7沒注意,說不定也不顯示,只是把編碼打了出來了
D. 如何在windows xp系統下使用gtk 誰會就請給出詳細步驟
遇到問題,相關軟體的官網是第一選擇,搜索引擎其次,圖書館往往最浪費時間。
http://www.gtk.org/download-windows.html
以上網頁第一段的意思是:為了編譯GTK+程序,需要安裝GLib、cairo、Pango、ATK、gdk-pixbuf和GTK+這些開發包(就是GTK+ indivial packages標題下Dev列的內容,其中GTK+提供了兩個版本,只需要一個就可以了);為了運行GTK+程序,需要安裝GLib、cairo、Pango、ATK、gdk-pixbuf和GTK+的運行庫(就是GTK+ indivial packages標題下Run-time列的內容),以及gettext-runtime、fontconfig、freetype、expat、libpng和zlib(就是Required third party dependencies標題下Run-time列的內容)。
如果要編程,What toolchain to use?標題下的內容最好也看一下。
寫Windows下的GTK+程序還有個選擇:http://ricardo.ecn.wfu.e/~cottrell/cross-gtk/。
總結一下:只是在Windows下運行GTK+程序,則安裝GLib、cairo、Pango、ATK、gdk-pixbuf、GTK+、gettext-runtime、fontconfig、freetype、expat、libpng和zlib的運行庫(就是Run-time列的內容)就行了(如果你很清楚這里某個組件是用不到的,不裝也行)。
如果是在Windows下寫GTK+程序,就把我前面提到的編譯和運行需要的內容都裝上(編程過程中需要調試吧!)。
想深入一點,http://www.gtk.org/documentation.html是要看一下的。想深深地陷入GTK+,那還是把Windows休了吧。
E. 在頭文件中含有#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的命令行再編譯試試看。
F. 用DarkGDK畫圖時畫的線和矩形能看到,但是點和圓形不能看到,編譯能通過,求解答……
我也遇到這個問題
G. Linux環境下編譯C++用什麼軟體
g++
那就用 eclipse + cdt + gtk 吧
GTK(GIMP Toolkit)是一個圖形用戶編程的介面。它完全免費,所以用來開發自由軟體或商業軟體都不需要花費什麼。現在很多Linux集成系統都已經將GTK1.2版本打包進去了。包括RedHat Linux 6.0以上版本,還有中文化的Turbo Linux等等。它也越來越被普遍的應用於UNIX系統編程。
還有一個組件叫Glib,它包含了一些標准應用的新擴展用來提高GTK的兼容性。用於Linux系統的某些函數可能不適合標準的UNIX系統,例如g_strerror()函數等等。某些函數也擴展了GNUC的一般功能,例如g_malloc函數就有自己加強的調試功能。
GTK可以與多種語言綁定,包括C++, Guile, Perl, Python, Ton, Ada95, Objective C, Free Pascal, Eiffel。用標准C開發的程序,編譯軟體可用GNU並附帶上GTK選項即可。想用除了標准C以外的其它語言來開發Xwindow圖形用戶程序,則需要先參考一下有關綁定軟體的內容(http:// www.gtk.org)。 如果用C++語言來調用GTK進行開發,可以用已經和C++綁定的軟體叫GTK--軟體,來提供一個比GTK更好的C++編譯環境。
目前已經開發出來GTK的增強版GTK+。GTK+是將GTK,GDK,GLIB集成在一起的開發包,可以工作在許多類似於UNIX的系統上,沒有GTK的平台限制。
H. 如何使用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`
I. JAVA編譯中編碼GDK的不可映射字元,未結束的字元文字該怎麼弄
我表示沒有問題!