cht電腦資訊gcingcin Windows
adm Find login register

[隨貼]完全使用Visual C++ 2010編譯的GTK+ stack

fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
1subject: [隨貼]完全使用Visual C++ 2010編譯的GTK+ stackPromote 0 Bookmark 02011-05-24quote  

有一個可能會有人感興趣的部份,就是在Windows版的gcin使用只有用VS2010編譯的GTK+ Stack...,可能對於用不同CRT會有顧慮的部份會有幫助

 

因為我目前已經接下GTK+的Visual Studio Project Files 的維護者身份,且我已使用VS2010編譯好一個完整的GTK+ stack已有一段時間,不知這邊對於使用這樣的DLL會不會有興趣...

 

這 也表示最新的GTK+ 2.24.4以及3.0.9,以及所附屬的GLib、Pango、ATK、GDK-Pixbuf都可以順利以Visual Studio 2008/2010原生編譯,且這樣可以大幅降低Release時所需要發放的檔案數目,因為Visual Studio編譯的GDK-Pixbuf可以使用Windows原生GDI+並將他所需的Image Loaders全部內建於GDK-Pixbuf的DLL,以及將GTK+的IMModule等模組內建於GTK+的DLL中。

 

我 也將Regex for Windows的原始碼以Visual C++ 2010編譯完成,也有以Visual C++編譯gettext-runtime-0.17、zlib-1.2.5、libpng-1.5、cairo-1.10.2,因此所有的DLL以及 EXE檔案所使用的CRT都是MSVCR100.dll。

 

若有需要煩請告知,謝謝

 

p.s.因為我是使用MSVC Express版本,所以我目前的作法是下載gcin安裝程式並安裝後再將自己所編譯的gcin程式把原來所附的執行檔以及gcin0.ime檔案置換;目前我正在用一個這樣的gcin打這篇文章

 

附上一些Dependency Walker的圖...

edited: 1
caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
2subject: [隨貼]完全使用Visual C++ 2010編譯的GTK+ stackPromote 0 Bookmark 02011-05-24quote  

fanc999
因為我目前已經接下GTK+的Visual Studio Project Files 的維護者身份,且我已使用VS2010編譯好一個完整的GTK+ stack已有一段時間,不知這邊對於使用這樣的DLL會不會有興趣...

好像沒看到 announce? 進 git 了嗎?前陣子 mailing list 是有個 fanc999 在討論 win32 build 沒錯。

不過 gtk 官方給的 win32 build 還是二月份的 2.24.0,gtk3 仍不見蹤影…

如果正式接手的話,應該是公開 Project Files 或 binary 給大家下載吧,難道還要寫信去要…

話說 gtk 3.0.10 / 3.1.14 修正了不少問題(不知有沒有修到 win32 的部份就是),我 patch 的 leafpad 不用 rebuild 就可以在 3.0.10 / 3.1.14 上正確顯示行號了。

建議 gtk3 developers 使用 3.0.10 以上版本。

edited: 1
fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
3subject: Promote 0 Bookmark 02011-05-24quote  

的確我是那位fanc999...

 

目前GTK+2.24還沒有進GIT但我已有patch ready (視使用者需求我會看看是否加入GIT,因目前GTK+開發專注於3.x,也不曉得下回2.24.x的版本會什麼時候出,假設他會再出),但最新的GLib2.28.7、ATK-1.33.6以及2.0.0以及即將有的GTK+3.0.10會有VS2010 Project Files,GDK-Pixbuf最新不穩定版有VS2010Project Files、Pango的VS2010Project File正在由該套件維護者審核中(他下一個不穩定版至少會有VS2008的Project Files)

 

至於cairo的部份因mozilla-build的makefile常有問題我會看是否需要提供VS Project Files供審核加入

謝謝

eliu

joined: 2007-08-09
posted: 11468
promoted: 617
bookmarked: 187
新竹, 台灣
4subject: Promote 0 Bookmark 02011-05-25quote  

用起來完全沒有問題嗎? 2.22. 詞音的 window 會出現空白的問題。

有 download 的地方嗎?

fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
5subject: Promote 0 Bookmark 02011-05-25quote  

我用2.24.4沒有發現您描述的問題--是這個嗎?

因為我目前沒有個人網站,所以沒有VS2010的project檔案可供下載,這裡有辦法夾帶檔案嗎?

 

假設可以,我可以將GTK+2.24.4/Pango 1.28.4/GDK-Pixbuf 2.22.1的VS2010的檔案附上;其實GTK+ 2.24.4當中已經有vs2008的檔案,是可以直接用VS2008編譯沒有問題,但若直接升級至vs2010版本會有問題

 

eliu

用起來完全沒有問題嗎? 2.22. 詞音的 window 會出現空白的問題。

有 download 的地方嗎?

eliu

joined: 2007-08-09
posted: 11468
promoted: 617
bookmarked: 187
新竹, 台灣
6subject: Promote 0 Bookmark 02011-05-25quote  

這邊有 file size的限制。不知道 blogspot 等網站可不可以放大files

elleryq

joined: 2007-09-27
posted: 117
promoted: 5
bookmarked: 0
Taipei, Taiwan
7subject: Promote 0 Bookmark 02011-05-25quote  

有 dropbox 帳號嗎? 可以丟到 dropbox 的 public 資料夾來分享...

fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
8subject: Promote 0 Bookmark 02011-05-25quote  

附上以下連結供參考:

(注:因GLib-2.28.7、GTK+-3.0.10以及ATK-2.0.0官方原始檔已有VS9與VS10的Project檔案,我不另外刊在此)

所有.zip檔案請解壓縮至個別對應原始碼套件的根目錄,若有詢問是否複寫請說是,所有dependency的include與lib檔案請放在VS可以自動找到的地方,建議GNOME相關套件的原始碼都解壓至同一資料夾

 

關於Glib-2.28.7:因他需要zlib,請找zlib-1.2.5的官方原始檔並用他的win32/makefile.msc編譯-並請將所產生的zdll.lib再複製成zlib1.lib;另外可視需求看看是不是要先安裝PCRE(不然請選擇Debug或Release組態);若要自己編譯PCRE DLL,PCRE需要是最新的8.12-請用CMake+VS編譯PCRE並勾選SHARED、以及所有要使用UNICODE/UTF-8的選項

Cairo-1.10.2 VS9 Project File (VS10直接升級使用即可--請先找glib-2.28.7、zlib、libpng-1.5.x、freetype以及GLEW的官方原始檔並編譯並將include以及lib檔放置在VS可以自動找到的地方-他們都有VS的相關檔案)

以下套件請不要用VS10直接升級VS9的Project Files,不然會有問題

 

Pango-1.28.4的VS Project Files,檔案同樣在build/win32資料夾內,因為上面所附的Cairo VS Project Files不包含對FontConfig的支援,請使用pango.sln,不要使用pango_fc.sln;故此,這個GTK+ Stack套件就不會需要使用FontConfig了

 

GDK-Pixbuf-2.22.1的VS Project Files,檔案在build/win32資料夾內,若不要另外裝IJG JPEG、libTIFF、libjasper請用Debug或Release組態 Pango-1.28.4的VS Project Files,檔案同樣在build/win32資料夾內

 

GTK+-2.24.4的VS10 Project Files,檔案同樣在build/win32資料夾內

edited: 1
fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
9subject: Promote 0 Bookmark 02011-05-25quote  

另外附上有CMake檔案的libiconv-1.13.1以及gettext-0.17供參考(CMake建議使用最新穩定版本)

含有CMake檔案的libiconv-1.13.1

 

含有CMake檔案的gettext-0.17,請記得在按下Generate之前先用PERL執行該套件根目錄之下的copy-cc.pl,不然會Generate失敗(忘記的話再去用PERL執行copy-cc.pl就好了)

 

regex-2.7 source for windows,含有VS9 Project Files的小幅修改版本,VS10可以直接升級Project檔案使用

 

上面那篇關於Pango以及GTK+有檔案可能需要在編譯之前將原始碼檔案編碼加上BOM,如Pango中的pango\pango-language-sample-table.h 以及GTK+2.24.4/3.x的demos\gtk-demo\rotated_text.c,以避免因檔案編碼問題產生的錯誤

 

願上帝賜福,也謝謝各位前輩的辛勞

edited: 4
fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
10subject: Promote 0 Bookmark 02011-08-28quote  

因為GDK-Pixbuf-2.24.0已經推出且已經包含VS2008/2010的Project檔案,故自即日起請至GNOME的FTP去下載(Dropbox中的GDK-Pixbuf VS 檔案小弟不再提供,請見諒)

[quote=fanc999]

GDK-Pixbuf的Project 檔案在build/win32資料夾內,若不要另外裝IJG JPEG、libTIFF、libjasper請用Debug或Release組態

edited: 2
fanc999
joined: 2011-05-24
posted: 7
promoted:
bookmarked:
11subject: Promote 0 Bookmark 02011-08-31quote  

因為GTK+-2.24.6已經包含了VS10的Project檔案(含32/64位元支援),故自即日起請直接自GNOME官方FTP下載並直接編譯,我將會把GTK+-2.24.x的VS10 Project檔案自我的DropBox移除。謝謝。

 

fanc999

GTK+-2.24.4的VS10 Project Files,檔案同樣在build/win32資料夾內

cht電腦資訊gcingcin Windows
adm Find login register
views:29169