導航:首頁 > 源碼編譯 > gtk編譯

gtk編譯

發布時間:2022-01-31 10:40:23

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`
你要注意這個` 符號問題!
你去看我的那篇文章,我說過的.

閱讀全文

與gtk編譯相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26