本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!
wxWidgets是一個(gè)跨平臺(tái)的C++開(kāi)發(fā)庫(kù),與MFC類似。不過(guò)配置起來(lái)比較麻煩,如果在Linux下使用Eclipse來(lái)開(kāi)發(fā)基于wxWidgets的應(yīng)用程序需要進(jìn)行一系列的配置,如設(shè)置include路徑、library路徑等。但我們可以使用一個(gè)簡(jiǎn)單的方法來(lái)快速配置wxWidgets。
在wxWidgets發(fā)行發(fā)中有很多例子,隨便編譯一個(gè)例子(執(zhí)行make命令),就會(huì)在終端中看到生成.o和可執(zhí)行文件的完整命令。如果要編譯自己寫(xiě)的程序,只需要將.cpp、.o文件換成自己的即可。按著這個(gè)方法,可以找到Eclipse C++工程屬性對(duì)話框,選擇C/C++ Build -> Settings -->Tool Settings -> GCC C++ Compiler,實(shí)際上,可以Directories中設(shè)置目錄,以及設(shè)置Miscellaneous中的相應(yīng)項(xiàng)進(jìn)行設(shè)置來(lái)配置wxWidgets,但這比較麻煩,干脆將編譯wxWidgets例子輸出的編譯命令復(fù)制到Command line pattern中,如生成目標(biāo)文件(.o)的編譯命令如下:
g++ -c -o ${OUTPUT} -D__WXGTK__ -I. -DWXUSINGDLL -I/library/wxGTK-2.8.9/wxGTK-2.8.9/samples -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/library/wxGTK-2.8.9/wxGTK-2.8.9/lib/wx/include/gtk2-ansi-release-2.8 -I/library/wxGTK-2.8.9/wxGTK-2.8.9/include -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/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DWX_PRECOMP -pthread -Wall -Wundef -Wno-ctor-dtor-privacy -O2 -fno-strict-aliasing -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo ${INPUTS}
其中${OUTPUT}和${INPUTS}是Eclipse的變量,其中${OUTPUT}表示要輸出的文件,在這里是.o文件,${INPUTS}表示源代碼文件,一般為.cpp。 將上面的內(nèi)容復(fù)制到Command line pattern文件框中(替換原來(lái)的內(nèi)容),如下圖所示。
下面是生成可執(zhí)行文件的命令:
g++ -o ${OUTPUT} ${INPUTS} -pthread -L/library/wxGTK-2.8.9/wxGTK-2.8.9/lib -Wl,-rpath,/library/wxGTK-2.8.9/wxGTK-2.8.9/lib -lz -ldl -lm -lwx_gtk2_adv-2.8 -lwx_gtk2_html-2.8 -lwx_base_xml-2.8 -lexpat -lwx_gtk2_core-2.8 -lwx_base-2.8 -lwxtiff-2.8 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0 -lXinerama -lSM -lpng -lz -ljpeg -pthread -Wl,--version-script,/library/wxGTK-2.8.9/wxGTK-2.8.9/version-script -lz -ldl -lm
其中${OUTPUT}表示要生成的可執(zhí)行文件,${INPUTS}表示目標(biāo)文件(*.o)。
選中GCC C++ Linker,仍然覆蓋Command line pattern文本框中的內(nèi)容。
當(dāng)Eclipse運(yùn)行程序時(shí),會(huì)多次調(diào)用g++命令來(lái)編譯.cpp文件,而linker只調(diào)用一次。
本文所使用的Linux版本是Fedora 8(狼人),讀者可用如下命令查看自己的Linux版本:
lsb_release -a
運(yùn)行上面的命令后,會(huì)輸出類似于下面的信息:
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: Fedora
Description: Fedora release 8 (Werewolf)
Release: 8
Codename: Werewolf
國(guó)內(nèi)最棒的Google Android技術(shù)社區(qū)(eoeandroid),歡迎訪問(wèn)!
《銀河系列原創(chuàng)教程》 發(fā)布
《Java Web開(kāi)發(fā)速學(xué)寶典》 出版,歡迎定購(gòu)
wxWidgets是一個(gè)跨平臺(tái)的C++開(kāi)發(fā)庫(kù),與MFC類似。不過(guò)配置起來(lái)比較麻煩,如果在Linux下使用Eclipse來(lái)開(kāi)發(fā)基于wxWidgets的應(yīng)用程序需要進(jìn)行一系列的配置,如設(shè)置include路徑、library路徑等。但我們可以使用一個(gè)簡(jiǎn)單的方法來(lái)快速配置wxWidgets。
在wxWidgets發(fā)行發(fā)中有很多例子,隨便編譯一個(gè)例子(執(zhí)行make命令),就會(huì)在終端中看到生成.o和可執(zhí)行文件的完整命令。如果要編譯自己寫(xiě)的程序,只需要將.cpp、.o文件換成自己的即可。按著這個(gè)方法,可以找到Eclipse C++工程屬性對(duì)話框,選擇C/C++ Build -> Settings -->Tool Settings -> GCC C++ Compiler,實(shí)際上,可以Directories中設(shè)置目錄,以及設(shè)置Miscellaneous中的相應(yīng)項(xiàng)進(jìn)行設(shè)置來(lái)配置wxWidgets,但這比較麻煩,干脆將編譯wxWidgets例子輸出的編譯命令復(fù)制到Command line pattern中,如生成目標(biāo)文件(.o)的編譯命令如下:
g++ -c -o ${OUTPUT} -D__WXGTK__ -I. -DWXUSINGDLL -I/library/wxGTK-2.8.9/wxGTK-2.8.9/samples -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/library/wxGTK-2.8.9/wxGTK-2.8.9/lib/wx/include/gtk2-ansi-release-2.8 -I/library/wxGTK-2.8.9/wxGTK-2.8.9/include -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/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DWX_PRECOMP -pthread -Wall -Wundef -Wno-ctor-dtor-privacy -O2 -fno-strict-aliasing -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo ${INPUTS}
其中${OUTPUT}和${INPUTS}是Eclipse的變量,其中${OUTPUT}表示要輸出的文件,在這里是.o文件,${INPUTS}表示源代碼文件,一般為.cpp。 將上面的內(nèi)容復(fù)制到Command line pattern文件框中(替換原來(lái)的內(nèi)容),如下圖所示。

下面是生成可執(zhí)行文件的命令:
g++ -o ${OUTPUT} ${INPUTS} -pthread -L/library/wxGTK-2.8.9/wxGTK-2.8.9/lib -Wl,-rpath,/library/wxGTK-2.8.9/wxGTK-2.8.9/lib -lz -ldl -lm -lwx_gtk2_adv-2.8 -lwx_gtk2_html-2.8 -lwx_base_xml-2.8 -lexpat -lwx_gtk2_core-2.8 -lwx_base-2.8 -lwxtiff-2.8 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0 -lXinerama -lSM -lpng -lz -ljpeg -pthread -Wl,--version-script,/library/wxGTK-2.8.9/wxGTK-2.8.9/version-script -lz -ldl -lm
其中${OUTPUT}表示要生成的可執(zhí)行文件,${INPUTS}表示目標(biāo)文件(*.o)。
選中GCC C++ Linker,仍然覆蓋Command line pattern文本框中的內(nèi)容。
當(dāng)Eclipse運(yùn)行程序時(shí),會(huì)多次調(diào)用g++命令來(lái)編譯.cpp文件,而linker只調(diào)用一次。
本文所使用的Linux版本是Fedora 8(狼人),讀者可用如下命令查看自己的Linux版本:
lsb_release -a
運(yùn)行上面的命令后,會(huì)輸出類似于下面的信息:
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: Fedora
Description: Fedora release 8 (Werewolf)
Release: 8
Codename: Werewolf
國(guó)內(nèi)最棒的Google Android技術(shù)社區(qū)(eoeandroid),歡迎訪問(wèn)!
《銀河系列原創(chuàng)教程》 發(fā)布
《Java Web開(kāi)發(fā)速學(xué)寶典》 出版,歡迎定購(gòu)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
