|
|
|
|
פורסם: 25/07/2012 - 20:38
נושא ההודעה: GTK+2 ו-GTK+3 על חלונות - תובנות ובעיות
|
הידרתי את GTK+2 ואת GTK+3 על חלונות (באמצעות MinGW). זה כלל הידור של 46 חבילות שונות, כולל ערכות נושא.
נוסף לאלו הידרתי גם את Geany ותוספים עבורו, את Glade (ל-GTK+2 ול-GTK+3) ואת Evince (גם כן לשתי גרסאות GTK+) - קורא ה-PDF של GNOME.
GTK+2 פועל היטב, וגם נראה ממש לא רע (ערכת הנושא של MS-Windows די מכוערת לטעמי):
לעומתו, GTK+3 עובד מעולה עם המון בעיות, בעיות בציור. לפעמים אייקונים וכפתורים מצויירים, אבל בדרך כלל רק לכמה שניות.
למשל, כך נראה Glade-1.12.1, האייקונים בסרגל הכלים ובסרגל הצידי לא מוצגים כמו שצריך, אם בכלל:
אגב, Glade-3.8.2 עובד מצוין:
שפת הממשק הולכת לפי המשתנה הסביבתי LC_ALL ודומיו. ממש כמו בלינוקס.
אותו הסיפור עם Evince:
עם GTK+2 עובד מעולה: http://www.upimg.co.il/images/21482.png
עם GTK+3 הוא עובד מעולה, אבל לא מצייר את הכפתורים והאייקונים תמיד: http://www.upimg.co.il/images/61129.png
כמובן שהידרתי את הגירסאות המתאימות.
התובנות שלי הן ש-GTK+2 ו-GTK+3 הם דברים מעולים, אבל כנראה לא טיפלו מספיק באחרון על חלונות. וחבל. יש לציין שאני משתמש בגרסה העדכנית ביותר (gtk-3.5.8 ).
תובנות נוספות, בעיות נוספות:
מעבר בין כרטיסיות באמצעות גלילת העכבר לא קיים ב-GTK+3. חבל...
קיצורי מקשים ב-GTK+3 לא עובדים על חלונות.
באופן כללי - לא היה חסר דבר ב-GTK+2.
אני מעלה את זה לכאן כדי לדעת, אולי יש מישהו עם עצה שתעזור לי עם הבעיה ב-GTK+3, בה יש יישומונים נוספים, ובה בעצם מפתחים היום. GTK+2 לא מפותחת עוד, ויום אחד כנראה תיעלם...
יש לציין שאני משתמש ב-cairo-1.10.2, לא ב-cairo-1.12.2 (שעושה בעיות לא רק בלינוקס אלא גם בחלונות...).
ערב טוב,
יוסף אור
|
|
חזרה לתוכן הדיון |
פורסם: 25/07/2012 - 21:47
נושא ההודעה:
|
הסיבה לכך היא שאין מספיק צורך בהן בחלונות, זה הכול מסתכם בהיצא וביקוש.
בקשר לפתרונות, אני יכול להציע לך שני דברים:
- תתקן את בעיות בעצמך ותציא את זה למפתחים
- תעבור לFW ידידותי יותר עבור חלונות.
_________________ קוד: | Gentoo.
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
help save the world, join us. |
|
|
חזרה לתוכן הדיון |
פורסם: 25/07/2012 - 22:17
נושא ההודעה:
|
מה זה בדיוק FW ?
|
|
חזרה לתוכן הדיון |
פורסם: 25/07/2012 - 23:10
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 26/07/2012 - 09:52
נושא ההודעה:
|
Anonymous : | מה זה בדיוק FW ? |
Frame Work.
יוסף אור הוא אכן איש מיוחד
|
|
חזרה לתוכן הדיון |
פורסם: 26/07/2012 - 12:58
נושא ההודעה:
|
לאחר מחשבה נוספת, הגעתי למסקנה שהבדיקה הנ"ל מוודאת שהבעיה לא ב-GTK+3 שהידרתי, אבל לא מוודאת שהבעיה אינה ב-Cairo-1.10.2 שהידרתי.
לכן בדקתי איך הדברים עובדים עם cairo שפדורה מספקת ל-mingw32.
הדברים עובדים היטב עם החבילה של פדורה:
הדבר נראה לי די תמוהה. אחרי הכל GTK+2 עובד היטב ואין בו אף בעיה. נוסף לזה, הידרתי את cairo ללא בעיות. יש לי את הפלט בסוף הרצת התצורה שלו (configure), שלא מראה על אף בעיה:
קוד: | cairo (version 1.10.2 [release]) will be compiled with:
The following surface backends:
Image: yes (always builtin)
Recording: yes (always builtin)
Tee: yes
XML: yes
Skia: no (disabled, use --enable-skia to enable)
Xlib: no (requires X development libraries)
Xlib Xrender: no (requires --enable-xlib)
Qt: no (disabled, use --enable-qt to enable)
Quartz: no (requires CoreGraphics framework)
Quartz-image: no (disabled, use --enable-quartz-image to enable)
XCB: no (disabled, use --enable-xcb to enable)
Win32: yes
OS2: no (disabled, use --enable-os2 to enable)
CairoScript: no (disabled, use --enable-script to enable)
PostScript: yes
PDF: yes
SVG: yes
OpenGL: no (disabled, use --enable-gl to enable)
BeOS: no (disabled, use --enable-beos to enable)
DirectFB: no (disabled, use --enable-directfb to enable)
OpenVG: no (disabled, use --enable-vg to enable)
DRM: no (disabled, use --enable-drm to enable)
The following font backends:
User: yes (always builtin)
FreeType: yes
Fontconfig: yes
Win32: yes
Quartz: no (requires CoreGraphics framework)
The following functions:
PNG functions: yes
GLEW functions: no (not required by any backend)
GLX functions: no (not required by any backend)
WGL functions: no (not required by any backend)
EGL functions: no (not required by any backend)
X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable)
XCB-drm functions: no (disabled, use --enable-xcb-drm to enable)
XCB-shm functions: no (requires --enable-xcb)
DRM-Xr functions: no (disabled, use --enable-drm-xr to enable)
The following features and utilities:
cairo-trace: no (requires dynamic linker and zlib and real pthreads)
cairo-script-interpreter: no (disabled, use --enable-interpreter to enable)
And the following internal features:
pthread: yes
gtk-doc: no
gcov support: no
symbol-lookup: no (requires bfd)
test surfaces: no (disabled, use --enable-test-surfaces to enable)
ps testing: no (requires libspectre)
pdf testing: yes
svg testing: yes
win32 printing testing: no (requires ghostscript)
--- The tee surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to tee surface backend specific
--- API.
--- The xml surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to xml surface backend specific
--- API.
+++ It is strongly recommended that you do NOT disable the
+++ cairo-script-interpreter feature. |
זה מוזר מאוד, אבל העיקר שעכשיו הכל עובד לי כמו שצריך
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 11:11
נושא ההודעה:
|
אתה יכול בבקשה לצרף פה את הבינארי שלך?
והאם יש אפשרות ככה לפתח תוכנות עם GTK+3 עם פייטון?
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 13:27
נושא ההודעה:
|
תוכל בבקשה להכין "מתכון" מלא לקימפול של gtk?
it's relevant to my interests..
תודה!
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 20:09
נושא ההודעה:
|
מכיוון שאני מהדר הכל מחדש, אוכל לתת מפה מדוייקת למדי של ההתקנה.
כרגע, קודם כל הדרך להתקנת glib (ו-pkg-config):
ראשית, נוריד את MinGW מהכתובת הבאה:
http://garr.dl.sourceforge.net/project/mingw/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe
הצעד הבא חשוב במיוחד - שינוי המשתנה הסביבתי Path, דרך הממשק הגרפי של חלונות (דרך המסוף אף שינוי במשתנה סביבתי של המערכת אינו נשמר).
נוסיף לתחילת המשתנה הסביבתי הנ"ל את הנתיבים הבאים:
קוד: | C:\MinGW\bin;C:\MinGW\msys\1.0;C:\MinGW\msys\1.0\bin; |
עכשיו אפשר להפעיל את מעטפת ה-bash דרכהּ נפעל דרך ה-CMD של חלונות, כך:
או לכתוב ישירות בתיבת החיפוש של חלונות msys.
זה יפעיל קובץ אצווה בשם msys.bat, אשר יפעיל את מעטפת ה-bash.
יש לציין שאפשר להפעיל את ה-bash דרך ה-CMD של חלונות כך:
כעת, פשוט נהדר חבילות באמצעות תסריט ה-configure.
ראשית, נהדר את החבילות הבסיסיות הבאות:
קוד: | intltool-0.50.2
mingw-libgnurx
dlfcn-win32-r19
mman-win32 |
בכדי להדר כל חבילה, ניכנס לספרייה (מדריך או תיקייה) בה נמצא קוד המקור שלה.
שם נריץ את התסריט configure עם דגלים מתאימים.
את ההחבילות המצויינות לעיל, מלבד dlfcn-win32, נהדר בצורה פשוטה, כך:
קוד: | ./configure –prefix=/MinGW && make && make install |
לאחר שנהדר את שלוש החבילות הללו, נחזור לספרייה בה נמצא קוד המקור של mman-win32 ונעתיק את קובץ ה-H:
קוד: | cp mman.h /MinGW/include |
לתצורת החבילה dlfcn-win32 נשלח פרמטרים נוספים, כך:
קוד: | ./configure --prefix=/MinGW --enable-shared --enable-static --enable-stripping &&
make && make install |
נהדר ונתקין את libffi-v3.0.11:
קוד: | ./configure --prefix=/MinGW && make && make install |
נהדר את zlib-1.2.7:
קוד: | make --file=win32/Makefile.gcc |
נתקין אותו כך:
קוד: | make --file=win32/Makefile.gcc prefix=/MinGW INCLUDE_PATH=/MinGW/include LIBRARY_PATH=/MinGW/lib BINARY_PATH=/MinGW/bin install
cp zlib1.dll minigzip.exe minigzip_d.exe libz.a libz.dll.a /MinGW/bin |
נהדר ונתקין את pcre-8.31:
קוד: | ./configure --prefix=/MinGW \
--docdir=/MinGW/share/doc/pcre-8.31 \
--enable-utf \
--enable-unicode-properties \
--enable-pcregrep-libz &&
make && make install |
עכשיו נהדר ונתקין את glib-2.33.6.
מכיוון ש-pkg-config אינו מותקן, נצטרך לצרף מספר משתנים לתצורה. נוסף לזה, נצרף את המשתנה CFLAGS, בגלל באג בבניית החבילה.
לכן, כך נהדר ונתקין את הספרייה הזו, glib, שיקח קצת זמן להדר אותה:
קוד: | CFLAGS="-march=i686" LIBFFI_LIBS="-L/MinGW/lib -lffi" LIBFFI_CFLAGS="-I/MinGW/lib/libffi-3.0.11/include" PCRE_LIBS="-L/MinGW/lib -lpcre" PCRE_CFLAGS="-I/MinGW/include" ./configure --prefix=/MinGW --sysconfdir=/MinGW/etc –with-pcre=system && make && make install |
בשלב הבא נהדר את pkg-config-0.27.
חשוב להדר דווקא את גרסה 0.27, כיוון שתוקנו בה מספר באגים בחלונות:
קוד: | GLIB_LIBS="-L/MinGW/lib -lglib-2.0 -lintl" GLIB_CFLAGS="-I/MinGW/include/glib-2.0 -I/MinGW/lib/glib-2.0/include -mms-bitfields" ./configure --prefix=/MinGW --docdir=/MinGW/share/doc/pkg-config-0.27 &&
make && make install |
כדי לוודא שהכל עובד כנדרש, נסגור את חלון המסוף, נפתח אותו מחדש ונצפה בפלט ש-pkg-config יציג לנו:
קוד: | pkg-config --list-all |
בדקתי, ואין צורך להדר את glib פעמיים כדי לא לקבל שגיאה בהידור gdk-pixbuf.
השלב הבא יגיע בהמשך, כשבעצמי אהדר את ההמשך.
נערך לאחרונה על-ידי yosefor בתאריך 29/07/2012 - 22:41, סך-הכל נערך 2 פעמים
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 21:15
נושא ההודעה:
|
השלב הבא הוא הידור gdk-pixbuf.
לשם כך נצטרך להדר את החבילות הבאות:
libjpeg-8d
libpng-1.5.12
tiff-4.0.2
jasper-1.900.1
שתי החבילות האחרונות דורשות מספר חבילות נוספות, גם אותן נהדר.
נהדר ונתקין את jpeg-8d:
קוד: | ./configure --prefix=/MinGW && make && make install |
נהדר ונתקין את libpng-1.5.12:
קוד: | ./configure --prefix=/MinGW && make && make install &&
mkdir /MinGW/share/doc/libpng-1.5.12 &&
cp README libpng-manual.txt /MinGW/share/doc/libpng-1.5.12 |
tiff-4.0.2 דורש מספר ספריות נוספות:
freeglut-2.8.0
jbigkit-2.0
jpeg-8d (אותו כבר הידרנו)
נהדר ספריות אלו.
נהדר את freeglut-2.8.0:
קוד: | ./configure --prefix=/MinGW && make && make install &&
mkdir -p /MinGW/share/doc/freeglut-2.8.0 &&
cp doc/*.{html,png} /MinGW/share/doc/freeglut-2.8.0 |
נהדר את jbigkit-2.0:
קוד: | make &&
cp libjbig/*.a /MinGW/lib &&
cp libjbig/*.h /MinGW/include &&
cp libjbig/*.exe /MinGW/bin &&
cp pbmtools/*.exe /MinGW/bin |
נהדר את tiff-4.0.2:
קוד: | ./configure --prefix=/MinGW && make && make install |
בסיום ריצת תסריט התצורה (configure) נראה על המסך פלט כזה:
קוד: | Libtiff is now configured for i686-pc-mingw32
Installation directory: /MinGW
Documentation directory: ${prefix}/share/doc/tiff-4.0.2
C compiler: gcc -g -O2 -Wall -W
C++ compiler: g++ -g -O2
Enable runtime linker paths: no
Enable linker symbol versioning: no
Support Microsoft Document Imaging: yes
Use win32 IO: yes
Support for internal codecs:
CCITT Group 3 & 4 algorithms: yes
Macintosh PackBits algorithm: yes
LZW algorithm: yes
ThunderScan 4-bit RLE algorithm: yes
NeXT 2-bit RLE algorithm: yes
LogLuv high dynamic range encoding: yes
Support for external codecs:
ZLIB support: yes
Pixar log-format algorithm: yes
JPEG support: yes
Old JPEG support: yes
JPEG 8/12 bit dual mode: no
ISO JBIG support: yes
LZMA2 support: no
C++ support: yes
OpenGL support: no |
jasper-1.900.1 דורשת מספר חבילות:
UnZip-6.0
libjpeg-8d (אותו כבר הידרנו)
freeglut-2.8.0 (אותו כבר הידרנו)
נהדר ונתקין את UnZip-6.0:
קוד: | make && cp *.exe /MinGW/bin |
נהדר את jasper-1.900.1:
לפני ההידור, יש להפוך את השורה ה-46 בקובץ jasper-1.900.1/src/appl/tmrdemo.c להערה.
קוד: | ./configure --prefix=/MinGW && make && make install &&
install -v -m755 -d /MinGW/share/doc/jasper-1.900.1 &&
install -v -m644 doc/*.pdf /MinGW/share/doc/jasper-1.900.1 |
כעת, לאחר הידור כל התלויות, נהדר את gdk-pixbuf-2.26.1:
קוד: | ./configure --prefix=/MinGW && make && make install |
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 22:22
נושא ההודעה:
|
השלב הבא הוא הידור atk-2.5.4.
אין תלויות (מלבד glib), ההידור קצר ופשוט.
קוד: | ./configure --prefix=/MinGW && make && make install |
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 23:27
נושא ההודעה:
|
השלב הבא הוא הידור cairo-1.10.2.
הערה: חשוב להדר את cairo-1.10.2 ולא את גרסה 1.12.2, אשר גורמת לבעיות רבות.
ל-cairo התלויות הבאות:
pixman-0.26.2
fontconfig-2.10.0
libpng-1.5.12
glib (כבר הודר)
נתחיל בהידור pixman-0.26.2:
קוד: | ./configure --prefix=/MinGW && make && make install |
נמשיך בהידור fontconfig-2.10.0, אשר לו הדרישות הבאות:
expat-2.1.0
libxml2-2.8.0
freetype-2.4.10
נהדר את expat-2.1.0:
קוד: | ./configure --prefix=/MinGW && make && make install |
נהדר את libxml2-2.8.0:
קוד: | ./configure --prefix=/MinGW |
לפני ההידור וההתקנה, יש להוסיף לסוף המשתנה LDADDS שבקובץ ה-Makefile שנוצר:
עכשיו אפשר להמשיך:
נהדר את freetype-2.4.10:
קוד: | sed -i -r 's:.*(#.*SUBPIXEL.*) .*:\1:' \
include/freetype/config/ftoption.h &&
./configure --prefix=/MinGW && make && make install &&
install -v -m755 -d /MinGW/share/doc/freetype-2.4.10 &&
cp -v -R docs/* /MinGW/share/doc/freetype-2.4.10 |
כעת נוכל להדר את fontconfig-2.10.0, כיוון שהשלמנו את התלויות הדרושות:
קוד: | ./configure --prefix=/MinGW \
--sysconfdir=/MinGW/etc \
--localstatedir=/MinGW/var \
--docdir=/MinGW/share/doc/fontconfig-2.10.0 \
--disable-docs &&
make &&
mkdir -p /MinGW/share/fontconfig/conf.avail &&
cp conf.d/*conf /MinGW/share/fontconfig/conf.avail &&
make install &&
install -v -m755 \
-d /MinGW/share/{man/man{3,5},doc/fontconfig-2.10.0/fontconfig-devel} &&
install -v -m644 fc-*/*.1 /MinGW/share/man/man1 &&
install -v -m644 doc/*.3 /MinGW/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 /MinGW/share/man/man5 &&
install -v -m644 doc/fontconfig-devel/* \
/MinGW/share/doc/fontconfig-2.10.0/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
/MinGW/share/doc/fontconfig-2.10.0 |
עכשיו סיימנו להדר את כל התלויות שדרוש להידור cairo-1.10.2, ולכן נהדר אותו:
קוד: | sed -i 's#check-plt.sh ##' src/Makefile.in &&
./configure --prefix=/MinGW --enable-tee --enable-pdf --enable-svg --enable-xml --enable-interpreter=no &&
make && make install |
בסיום ריצת תסריט התצורה (configure) אנו אמורים לקבל את פלט עם מידע על הכלים שיהודרו:
קוד: | cairo (version 1.10.2 [release]) will be compiled with:
The following surface backends:
Image: yes (always builtin)
Recording: yes (always builtin)
Tee: yes
XML: yes
Skia: no (disabled, use --enable-skia to enable)
Xlib: no (requires X development libraries)
Xlib Xrender: no (requires --enable-xlib)
Qt: no (disabled, use --enable-qt to enable)
Quartz: no (requires CoreGraphics framework)
Quartz-image: no (disabled, use --enable-quartz-image to enable)
XCB: no (disabled, use --enable-xcb to enable)
Win32: yes
OS2: no (disabled, use --enable-os2 to enable)
CairoScript: no (disabled, use --enable-script to enable)
PostScript: yes
PDF: yes
SVG: yes
OpenGL: no (disabled, use --enable-gl to enable)
BeOS: no (disabled, use --enable-beos to enable)
DirectFB: no (disabled, use --enable-directfb to enable)
OpenVG: no (disabled, use --enable-vg to enable)
DRM: no (disabled, use --enable-drm to enable)
The following font backends:
User: yes (always builtin)
FreeType: yes
Fontconfig: yes
Win32: yes
Quartz: no (requires CoreGraphics framework)
The following functions:
PNG functions: yes
GLEW functions: no (not required by any backend)
GLX functions: no (not required by any backend)
WGL functions: no (not required by any backend)
EGL functions: no (not required by any backend)
X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable)
XCB-drm functions: no (disabled, use --enable-xcb-drm to enable)
XCB-shm functions: no (requires --enable-xcb)
DRM-Xr functions: no (disabled, use --enable-drm-xr to enable)
The following features and utilities:
cairo-trace: no (requires dynamic linker and zlib and real pthreads)
cairo-script-interpreter: no (disabled, use --enable-interpreter to enable)
And the following internal features:
pthread: yes
gtk-doc: no
gcov support: no
symbol-lookup: no (requires bfd)
test surfaces: no (disabled, use --enable-test-surfaces to enable)
ps testing: no (requires libspectre)
pdf testing: no (requires poppler-glib >= 0.13.3)
svg testing: no (requires librsvg-2.0 >= 2.15.0)
win32 printing testing: no (requires ghostscript)
--- The tee surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to tee surface backend specific
--- API.
--- The xml surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to xml surface backend specific
--- API.
+++ It is strongly recommended that you do NOT disable the
+++ cairo-script-interpreter feature. |
השלב הבא פשוט למדי - הידור pango ולאחריו הידור GTK+. אכתוב כאן בהמשך.
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 23:40
נושא ההודעה:
|
נותרו לנו שתי חבילות להדר:
pango-1.30.1
hicolor-icon-theme-0.12
נהדר את pango-1.30.1:
קוד: | ./configure --prefix=/MinGW --sysconfdir=/MinGW/etc && make && make install |
נהדר את hicolor-icon-theme-0.12:
קוד: | ./configure --prefix=/MinGW && make && make install |
|
|
חזרה לתוכן הדיון |
פורסם: 29/07/2012 - 23:47
נושא ההודעה:
|
כעת נוכל להדר את gtk+-2.24.11 - הגרסה היציבה האחרונה של GTK+2:
קוד: | sed -i 's#l \(gtk-.*\).sgml#& -o \1#' docs/{faq,tutorial}/Makefile.in &&
sed -i 's#.*@man_#man_#' docs/reference/gtk/Makefile.in &&
./configure --prefix=/MinGW --sysconfdir=/MinGW/etc && make && make install &&
mkdir -pv /MinGW/share/doc/gtk+-2.24.11 &&
cp -v -R docs/faq/html /MinGW/share/doc/gtk+-2.24.11/faq &&
cp -v -R docs/tutorial/html /MinGW/share/doc/gtk+-2.24.11/tutorial &&
install -v -m644 docs/*.txt /MinGW/share/doc/gtk+-2.24.11 |
|
|
חזרה לתוכן הדיון |
פורסם: 30/07/2012 - 00:54
נושא ההודעה:
|
נהדר ונתקין מספר חבילות עם תאימות ל-GTK+2:
gdl-2.30.1:
קוד: | ./configure --prefix=/MinGW && make && make install |
gtksourceview-2.11.2:
קוד: | ./configure --prefix=/MinGW --enable-glade-catalog && make && make install |
תָפענה לגנו מספר שגיאות הידור, כיוון שהמאקרו G_CONST_RETURN מיושן ולא עושה דבר בגרסה 2.33.6 של glib, אותה הידרנו.
בכדי להדר את הספרייה בהצלחה, נצטרך להיכנס לקוד ולהחליף כל מופע של המאקרו G_CONST_RETURN במילה השמורה const.
שגיאה נוספת תופיע, על המאקרו G_UNICODE_COMBINING_MARK שהתיישן.
כל מופע שלו נחליף במאקרו G_UNICODE_SPACING_MARK.
לאחר החלפת הגדרות המאקרו הנ"ל, הידור הספרייה יסתיים בהצלחה.
glade3-3.8.2:
קוד: | ./configure --prefix=/MinGW && make && make install |
קוד: | cp data/icons/hicolor/48x48/apps/glade-3.png /MinGW/share/icons/hicolor
|
מחר אְהדר את GTK+3 וערכות נושא ל-GTK+2 ול-GTK+3.
יש סיכוי לא רע שגם אעלה לאינטרנט את הקבצים הבינאריים של הספרייות/חבילות/תכנות שהידרתי.
אני מקווה שההוראות הנ"ל מובנות ועזרות.
ערב טוב,
יוסף אור
נערך לאחרונה על-ידי yosefor בתאריך 30/07/2012 - 15:43, סך-הכל נערך 2 פעמים
|
|
חזרה לתוכן הדיון |
פורסם: 30/07/2012 - 12:14
נושא ההודעה: הידור GTK+3
|
כעת נהדר את gtk+-3.5.4:
קוד: | ./configure --prefix=/MinGW --sysconfdir=/MinGW/etc && make && make install
|
בסיום ריצת התצורה אנו אמורים לקבל פלט כזה:
קוד: | GTK+ 3.5.4
===========
GDK backends: win32
Print backends: file lpr
Dynamic modules: yes
Included immodules: none
PackageKit support: no
colord support: no
Introspection: no
Debugging: yes
Documentation: no
|
ההידור יקח קצת זמן, ובסופו אגיד אם יש את הבעיות שציינתי בתחילת הפוסט הזה, או שאין אף בעיה.
יש לציין שיש בעיות בבניית GTK+3 עם גרסאות מאוחרות יותר מ-gtk+-3.5.4 .
עכשיו, כדי ש-GTK+3 יעבוד כמו שצריך, יש להוריד קבצים בינאריים של cairo-1.10.2 ולהעתיק אותם לתיקיות המתאימות ב-MinGW, במקום הקבצים הבינאריים שנוצרו לנו מהידור cairo.
מכאן:
http://mirror.isoc.org.il/pub/fedora/releases/17/Everything/i386/os/Packages/m/mingw32-cairo-static-1.10.2-13.fc17.noarch.rpm
http://mirror.isoc.org.il/pub/fedora/releases/17/Everything/i386/os/Packages/m/mingw32-cairo-1.10.2-13.fc17.noarch.rpm
אחרי זה הכל יעבוד כנדרש.
ועכשיו, נהדר עוד מספר ספרייות:
gdl-3.4.2:
קוד: | ./configure --prefix=/MinGW && make && make install
|
gtksourceview-3.5.2:
קוד: | ./configure --prefix=/MinGW --enable-glade-catalog && make & make install |
glade-3.12.1:
קוד: | ./configure --prefix=/MinGW && make |
כאן יהיו לנו מספר בעיות.
לאחר זמן מה של ריצת ה-make נקבל את השגיאות הבאות, שיביאו לעצירת ההידור:
קוד: | windres gladeui.rc gladeui-win32-res.o
Generating gladeui.def
CCLD libgladeui-2.la
libtool: link: warning: `/mingw/lib/libiconv.la' seems to be moved
Creating library file: .libs/libgladeui-2.dll.a
Cannot export custom_get_type: symbol not defined
Cannot export glade_app_get_plugins_dir: symbol not defined
Cannot export glade_catalog_supports_gtkbuilder: symbol not defined
Cannot export glade_catalog_supports_libglade: symbol not defined
Cannot export glade_signal_editor_construct_signals_list: symbol not defined
Cannot export void: symbol not defined
collect2: ld returned 1 exit status
make[3]: *** [libgladeui-2.la] Error 1
make[3]: Leaving directory `/C/MinGW/pkg/glade-3.12.1/glade-3.12.1/gladeui'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/C/MinGW/pkg/glade-3.12.1/glade-3.12.1/gladeui'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/C/MinGW/pkg/glade-3.12.1/glade-3.12.1'
make: *** [all] Error 2 |
נצטרך להיכנס לקובץ gladeui/gladeui.def ולערוך אותו ידנית.
נמחק מתוך הקובץ את הצהרת הפונקציות המצויינות בשגיאה:
קוד: | custom_get_type
glade_app_get_plugins_dir
glade_catalog_supports_gtkbuilder
glade_catalog_supports_libglade
glade_signal_editor_construct_signals_list
|
כמו כן, נמחק את כל השורות בהן כתוב רק void .
נוסף לאלו, נצטרך להוסיף לקובץ gladeui/gladeui.def הצהרה על הפונקציה הבאה:
קוד: | glade_clipboard_get_has_selection |
עכשיו נוכל לסיים את ההידור ולהתקין את glade:
קוד: | cp data/icons/hicolor/256x256/apps/glade.png /MinGW/share/icons/hicolor |
נערך לאחרונה על-ידי yosefor בתאריך 30/07/2012 - 15:44, סך-הכל נערך פעם אחת
|
|
חזרה לתוכן הדיון |
פורסם: 30/07/2012 - 13:52
נושא ההודעה:
|
השלב האחרון הוא כמובן הידור ערכות נושא.
נהדר את gnome-themes-standard-3.5.4 ואת gtk-engines-2.20.2.
נהדר קודם את התלויות ל-gnome-themes-standard-3.5.4:
librsvg-2.36.1
libcroco-0.6.5
libcroco-0.6.5:
קוד: | ./configure --prefix=/MinGW && make && make install
|
librsvg-2.36.1:
קוד: | sed -i '/_gir_CFLAGS/s#$# -I/MinGW/include/cairo#' Makefile.in &&
./configure --prefix=/MinGW --enable-introspection=no &&
make && make install
|
gnome-themes-standard-3.5.4:
קוד: | ./configure --prefix=/MinGW && make && make install
|
gtk-engines-2.20.2 (לא גרסה מאוחרת יותר !):
קוד: | ./configure --prefix=/MinGW && make && make install |
עכשיו נקבע את ערכת הנושא ל-GTK+2:
קוד: | cat > /MinGW/etc/gtk-2.0/gtkrc << "EOF"
include "C:/MinGW/share/themes/Adwaita/gtk-2.0/gtkrc"
gtk-icon-theme-name = "hicolor"
EOF |
ול-GTK+3:
קוד: | cat > /MinGW/etc/gtk-3.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-fallback-icon-theme = hicolor
EOF |
|
|
חזרה לתוכן הדיון |
פורסם: 30/07/2012 - 15:22
נושא ההודעה:
|
השלב הבא הוא הידור gtkmm-2.4 ו-gtkmm-3.0.
ההידור הזה הוא מעין משחק ילדים בהשוואה להידור GTK+2 ו-GTK+3.
ההידור הרבה יותר מהיר, ואת כל התלויות כבר השלמנו.
libsigc++-2.2.10:
קוד: | ./configure --prefix=/MinGW && make && make install |
glibmm-2.33.3:
קוד: | ./configure --prefix=/MinGW && make && make install |
atkmm-2.22.6:
קוד: | ./configure --prefix=/MinGW && make && make install |
cairomm-1.10.0:
קוד: | ./configure --prefix=/MinGW && make && make install |
pangomm-2.28.4:
קוד: | ./configure --prefix=/MinGW && make && make install |
הידור מעט יותר ארוך:
gtkmm-2.24.2:
קוד: | ./configure --prefix=/MinGW && make && make install |
gdlmm-2.30.0:
קוד: | ./configure --prefix=/MinGW && make && make install |
gtksourceviewmm-2.10.3:
קוד: | ./configure --prefix=/MinGW && make && make install |
gtkmm-3.5.4:
קוד: | ./configure --prefix=/MinGW && make && make install |
gtksourceviewmm-3.2.0:
קוד: | ./configure --prefix=/MinGW && make && make install |
זהו - סיימנו, עכשיו יש לנו את GTK+2 ואת GTK+3 בשתי שפות תכנות.
אם נרצה, נוכל גם להדר את שפת התכנות vala ונקבל את GTK+2 ואת GTK+3 בשפת תכנות נוספת.
עכשיו, דבר אחרון - הידור Geany.
אחרי הכל, כדאי שיצא לנו משהו מכל ההידורים האלו.
Geany הוא IDE קל ורב עצמה. מומלץ.
geany-1.22:
נבנה, נהדר ונתקין את Geany:
קוד: | ./waf configure --prefix=/C/Geany-1.22 &&
./waf build &&
./waf install |
אולי בהמשך היום אצור ואעלה קבצים בינאריים של כל מה שהידרתי.
מי שביקש את ה"מדריך" הזה, אשמח שיגיד לי אם המדריך עזר לו - אם הוא הצליח להדר בעצמו את כל הדברים הנ"ל.
צהריים טובים,
יוסף אור
נערך לאחרונה על-ידי yosefor בתאריך 30/07/2012 - 20:03, סך-הכל נערך פעם אחת
|
|
חזרה לתוכן הדיון |
פורסם: 30/07/2012 - 15:36
נושא ההודעה:
|
למעוניינים, אני מהדר עוד מספר ספריות.
SDL-1.2.15:
קוד: | ./configure --prefix=/MinGW && make && make install |
SDL_gfx-2.0.24:
קוד: | ./configure --prefix=/MinGW && make && make install |
SDL_image-1.2.12:
קוד: | ./configure --prefix=/MinGW && make && make install |
SDL_ttf-2.0.11:
קוד: | ./configure --prefix=/MinGW && make && make install |
SDL_net-1.2.8:
קוד: | ./configure --prefix=/MinGW && make && make install |
כמו כן, אני מהדר את vala-0.17.3.
מכיוון שאני צריך לגעת קצת בכמה קבצים כדי להדר בהצלחה, אני לא מצרף לכאן במדויק איך הידרתי את vala.
במקום זאת, העלתי קבצים בינאריים ל-SourceForge:
http://sourceforge.net/projects/valatowindows/
נוסף לזה, הידרתי את valide-0.7.1, אבל יש יותר מדי בעיות איתה שפשוט לא כדאי להשתמש בה.
|
|
חזרה לתוכן הדיון |
|
|
|
|