gtkmm eclipse 編譯

安裝gtkmm環(huán)境

參考地址:https://wiki.gnome.org/Projects/gtkmm/MSWindows
安裝步驟:

1.下載msys2:http://www.msys2.org/

2.選擇安裝組件

To install the one targeting i686:

pacman -S mingw-w64-i686-gcc
To install the one targeting x86_64:

pacman -S mingw-w64-x86_64-gcc
Similarly, you need to install the gtkmm libs:

pacman -S mingw-w64-i686-gtkmm3
and/or

pacman -S mingw-w64-x86_64-gtkmm3
You will probably also want pkg-config:

pacman -S pkg-config

必須安裝:pacman -S make
可選安裝:pacman -S vim

3.安裝完成后,啟動(dòng)msys控制臺(tái)編寫如下代碼

#include <gtkmm.h>
int main(int argc, char *argv[])
{
  Gtk::Main kit(argc, argv);
  Gtk::Window window;
  Gtk::Main::run(window);
  return 0;
}

或者

//foo.cpp
#include <gtkmm.h>

int main(int argc, char** argv)
{
        auto app = Gtk::Application::create(argc, argv);
        
        Gtk::Window window;
        window.set_default_size(600,400);
        
        return app->run(window);
}

4.執(zhí)行命令:

g++ -std=c++11 foo.cpp $(pkg-config gtkmm-3.0 --cflags --libs | sed 's/ -I/ -isystem /g')

即可看到界面



則表示安裝成功

配置eclipse環(huán)境編輯

配置eclipse環(huán)境相對(duì)比較繁瑣,希望gtkmm官方早日有自己的IDE編輯

第一步:

安裝CDT的eclipse環(huán)境,前提需要配置好MingGW與msys,配置完畢后,可以正常編譯執(zhí)行c\c++程序即可

第二步:

新建源碼工程,并參考如圖設(shè)置,注意一定要參考如圖設(shè)置,注意不論Debug還是Release都需要設(shè)置


Paste_Image.png
Paste_Image.png
第三步:

設(shè)置完畢后選擇:All configurations


Paste_Image.png
第四步:

而后選擇Setting參考如圖:
其中E:\2017\msys64\mingw64\include\gtkmm-3.0\gtkmm為實(shí)際安裝目錄,注意一定要添加此項(xiàng)目錄,否則代碼不能有提示功能。


全部配置完畢如下:

E:/2017/msys64/mingw64/include/gtkmm-3.0
E:/2017/msys64/mingw64/lib/gtkmm-3.0/include
E:/2017/msys64/mingw64/include/atkmm-1.6
E:/2017/msys64/mingw64/include/gdkmm-3.0
E:/2017/msys64/mingw64/lib/gdkmm-3.0/include
E:/2017/msys64/mingw64/include/giomm-2.4
E:/2017/msys64/mingw64/lib/giomm-2.4/include
E:/2017/msys64/mingw64/include/pangomm-1.4
E:/2017/msys64/mingw64/lib/pangomm-1.4/include
E:/2017/msys64/mingw64/include/glibmm-2.4
E:/2017/msys64/mingw64/lib/glibmm-2.4/include
E:/2017/msys64/mingw64/include/gtk-3.0
E:/2017/msys64/mingw64/include/cairo
E:/2017/msys64/mingw64/include
E:/2017/msys64/mingw64/include/pango-1.0
E:/2017/msys64/mingw64/include/atk-1.0
E:/2017/msys64/mingw64/include/cairo
E:/2017/msys64/mingw64/include/cairomm-1.0
E:/2017/msys64/mingw64/lib/cairomm-1.0/include
E:/2017/msys64/mingw64/include/cairo
E:/2017/msys64/mingw64/include/pixman-1
E:/2017/msys64/mingw64/include
E:/2017/msys64/mingw64/include/freetype2
E:/2017/msys64/mingw64/include/libpng16
E:/2017/msys64/mingw64/include/harfbuzz
E:/2017/msys64/mingw64/include/glib-2.0
E:/2017/msys64/mingw64/lib/glib-2.0/include
E:/2017/msys64/mingw64/include
E:/2017/msys64/mingw64/include/freetype2
E:/2017/msys64/mingw64/include
E:/2017/msys64/mingw64/include/harfbuzz
E:/2017/msys64/mingw64/include
E:/2017/msys64/mingw64/include/libpng16
E:/2017/msys64/mingw64/include/sigc++-2.0
E:/2017/msys64/mingw64/lib/sigc++-2.0/include
E:/2017/msys64/mingw64/include/gdk-pixbuf-2.0
E:/2017/msys64/mingw64/include/libpng16
E:/2017/msys64/mingw64/include/glib-2.0
E:/2017/msys64/mingw64/lib/glib-2.0/include
E:/2017/msys64/mingw64/include

分別配置編譯和鏈接


Paste_Image.png
Paste_Image.png

配置內(nèi)容參考:
對(duì)應(yīng)第一張圖配置內(nèi)容

-c -fmessage-length=0 -mms-bitfields -pthread -mms-bitfields -I/mingw64/include/gtkmm-3.0 -I/mingw64/lib/gtkmm-3.0/include -I/mingw64/include/atkmm-1.6 -I/mingw64/include/gdkmm-3.0 -I/mingw64/lib/gdkmm-3.0/include -I/mingw64/include/giomm-2.4 -I/mingw64/lib/giomm-2.4/include -I/mingw64/include/pangomm-1.4 -I/mingw64/lib/pangomm-1.4/include -I/mingw64/include/glibmm-2.4 -I/mingw64/lib/glibmm-2.4/include -I/mingw64/include/gtk-3.0 -I/mingw64/include/cairo -I/mingw64/include -I/mingw64/include/pango-1.0 -I/mingw64/include/atk-1.0 -I/mingw64/include/cairo -I/mingw64/include/cairomm-1.0 -I/mingw64/lib/cairomm-1.0/include -I/mingw64/include/cairo -I/mingw64/include/pixman-1 -I/mingw64/include -I/mingw64/include/freetype2 -I/mingw64/include/libpng16 -I/mingw64/include/harfbuzz -I/mingw64/include/glib-2.0 -I/mingw64/lib/glib-2.0/include -I/mingw64/include -I/mingw64/include/freetype2 -I/mingw64/include -I/mingw64/include/harfbuzz -I/mingw64/include -I/mingw64/include/libpng16 -I/mingw64/include/sigc++-2.0 -I/mingw64/lib/sigc++-2.0/include -I/mingw64/include/gdk-pixbuf-2.0 -I/mingw64/include/libpng16 -I/mingw64/include/glib-2.0 -I/mingw64/lib/glib-2.0/include -I/mingw64/include

對(duì)應(yīng)第二張圖圖配置內(nèi)容

-L/mingw64/lib -LC:/building/msys64/mingw64/lib -L/mingw64/lib -LC:/building/msys64/mingw64/lib/../lib -L/mingw64/lib -LC:/building/msys64/mingw64/lib -L/mingw64/lib -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lz -lepoxy -lpangocairo-1.0 -lpangoft2-1.0 -lpangowin32-1.0 -lgdi32 -lusp10 -lpango-1.0 -lm -latk-1.0 -lcairo-gobject -lgio-2.0 -lz -lcairomm-1.0 -lcairo -lz -lpixman-1 -lfontconfig -lexpat -lfreetype -liconv -lexpat -lfreetype -lz -lbz2 -lharfbuzz -lgraphite2 -lpng16 -lz -lsigc-2.0 -lgdk_pixbuf-2.0 -lgmodule-2.0 -pthread -lpng16 -lz -lgobject-2.0 -lffi -lglib-2.0 -lintl -pthread -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -lpcre

備注:具體內(nèi)容,通過執(zhí)行
pkg-config --cflags gtkmm-3.0
pkg-config --libs gtkmm-3.0
命令即可得到,暫時(shí)只能通過此方法配置,其他配置均無效

Administrator@USER-20170324BD MINGW64 ~
$ pkg-config --cflags gtkmm-3.0
-mms-bitfields -pthread -mms-bitfields -I/mingw64/include/gtkmm-3.0 -I/mingw64/lib/gtkmm-3.0/include -I/mingw64/include/atkmm-1.6 -I/mingw64/include/gdkmm-3.0 -I/mingw64/lib/gdkmm-3.0/include -I/mingw64/include/giomm-2.4 -I/mingw64/lib/giomm-2.4/include -I/mingw64/include/pangomm-1.4 -I/mingw64/lib/pangomm-1.4/include -I/mingw64/include/glibmm-2.4 -I/mingw64/lib/glibmm-2.4/include -I/mingw64/include/gtk-3.0 -I/mingw64/include/cairo -I/mingw64/include -I/mingw64/include/pango-1.0 -I/mingw64/include/atk-1.0 -I/mingw64/include/cairo -I/mingw64/include/cairomm-1.0 -I/mingw64/lib/cairomm-1.0/include -I/mingw64/include/cairo -I/mingw64/include/pixman-1 -I/mingw64/include -I/mingw64/include/freetype2 -I/mingw64/include/libpng16 -I/mingw64/include/harfbuzz -I/mingw64/include/glib-2.0 -I/mingw64/lib/glib-2.0/include -I/mingw64/include -I/mingw64/include/freetype2 -I/mingw64/include -I/mingw64/include/harfbuzz -I/mingw64/include -I/mingw64/include/libpng16 -I/mingw64/include/sigc++-2.0 -I/mingw64/lib/sigc++-2.0/include -I/mingw64/include/gdk-pixbuf-2.0 -I/mingw64/include/libpng16 -I/mingw64/include/glib-2.0 -I/mingw64/lib/glib-2.0/include -I/mingw64/include

Administrator@USER-20170324BD MINGW64 ~
$ pkg-config --libs gtkmm-3.0
-L/mingw64/lib -LC:/building/msys64/mingw64/lib -L/mingw64/lib -LC:/building/msys64/mingw64/lib/../lib -L/mingw64/lib -LC:/building/msys64/mingw64/lib -L/mingw64/lib -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lz -lepoxy -lpangocairo-1.0 -lpangoft2-1.0 -lpangowin32-1.0 -lgdi32 -lusp10 -lpango-1.0 -lm -latk-1.0 -lcairo-gobject -lgio-2.0 -lz -lcairomm-1.0 -lcairo -lz -lpixman-1 -lfontconfig -lexpat -lfreetype -liconv -lexpat -lfreetype -lz -lbz2 -lharfbuzz -lgraphite2 -lpng16 -lz -lsigc-2.0 -lgdk_pixbuf-2.0 -lgmodule-2.0 -pthread -lpng16 -lz -lgobject-2.0 -lffi -lglib-2.0 -lintl -pthread -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -lpcre
第五步:

到這里就已經(jīng)配置成功, 編譯或者運(yùn)行即可看到如下結(jié)果界面


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容