gianakakis Δημοσ. 14 Μαρτίου 2013 Δημοσ. 14 Μαρτίου 2013 Γεια σας παιδιά Ασχολούμαι με την C τον τελευταίο καιρό λόγω της σχολής μου κάνοντας console applications μόνο.Τις προάλλες μας ζητήθηκε να φτίαξουμε ένα πρόγραμμα με παράθυρο που θα τυπώνει ένα πίνακα στοιχείων. Ανέφεραν κάτι για το gtk.Εγώ έψαξα αρκετά αλλά δεν μπόρεσα να βρω κάποιο αξιόλογο tutorial για το πως θα βάλω το gtk σε windows 8 και να το χρησιμοποιήσω με το dev c++. Αν γνωρίζετε κάποιο τέτοιο οδηγό παρακάλω πείτε μου,ακόμη αν ξέρετε καμία καλή σειρά tutorials \βιβλίο\βίντεο ή οτιδήποτε θα με βοηθήσει να μάθω το gtk. Ευχαριστώ πολύ
migf1 Δημοσ. 15 Μαρτίου 2013 Δημοσ. 15 Μαρτίου 2013 Καλησπέρα, το πρόβλημα υφίσταται μονάχα σε Windows 8 ή δεν έχεις ξαναστήσει ποτέ GTK+? Μέχρι και Windows 7 που έχω δοκιμάσει δουλεύει κανονικά πάντως. Δες κι εδώ... στο τελευταίο ποστ δίνω μερικά links που ίσως σου φανούν χρήσιμα. Πολλά περισσότερα links όμως έχω συμπεριλάβει στο README.txt που περιλαμβάνω στο github project (το link του είναι στο 1ο ποστ εκείνου του νήματος).
gianakakis Δημοσ. 15 Μαρτίου 2013 Μέλος Δημοσ. 15 Μαρτίου 2013 Καλησπέρα, το πρόβλημα υφίσταται μονάχα σε Windows 8 ή δεν έχεις ξαναστήσει ποτέ GTK+? Μέχρι και Windows 7 που έχω δοκιμάσει δουλεύει κανονικά πάντως. Δες κι εδώ... στο τελευταίο ποστ δίνω μερικά links που ίσως σου φανούν χρήσιμα. Πολλά περισσότερα links όμως έχω συμπεριλάβει στο README.txt που περιλαμβάνω στο github project (το link του είναι στο 1ο ποστ εκείνου του νήματος). Δεν έχω ξαναστήσει GTK+ δεν νομίζω να υπάρχει πρόβλημα με τα windows 8 .Έχω κάνει μια μικρή πρόοδο: κατέβασα το all in one bundle που λένε και το έβαλα στο c:\gtk δοκίμασα να κάνω στο dev c++ include αλλά δεν ξέρω τι ακριβώς πρέπει να γίνει include.Ακόμη είδα ένα tutorial που έλεγε να φτιάξω κάτι environment variables το έκανα και αυτό αλλά τίποτα. Αν μπορείς να μου απαντήσεις με σχετικά καλές οδηγίες θα ήταν πολύ καλά. Ευχαριστώ πολύ [EDIT]Τώρα τσεκάρω και το νήμα σου μήπως με βοηθήσει. [EDIT2]Ακολούθησα τις οδηγίες σου στο README που βρήκα στο παιχνίδι Tic Tac Toe που έχεις φτίαξει όμως κάνοντας compile and run τον κώδικα σου μου βγάζει error στο #include <gtk/gtk.h> Η ερώτηση μου είναι δεν πρέπει να κάνω κάτι μέσα στο Dev c++
παπι Δημοσ. 15 Μαρτίου 2013 Δημοσ. 15 Μαρτίου 2013 Δες το qt framework που ειναι πιο απλο στην εγκατασταση
migf1 Δημοσ. 15 Μαρτίου 2013 Δημοσ. 15 Μαρτίου 2013 Καλησπέρα, δυστυχώς με πετυχαίνεις σε δύσκολη περίοδο από άποψη ελεύθερου χρόνου. Δεν χρησιμοποιώ dev-c++ αλλά μπορείς να δεις ποια header files (include) και ποια libraries πρέπει να ορίσεις στο dev-c++ διαβάζοντας στο ReadMe της τρίλιζας τις οδηγίες για στήσιμο στην Pelles-C (απλώς εσύ θα τα ορίσεις στο περιβάλλον του Dev-C++) Μπορείς να τα δεις και σε αυτό το νήμα: http://www.insomnia.gr/topic/450299-notepad-plugins-mingw-ide/page-2?do=findComment&comment=4824638, καθώς επίσης και σε αυτό: http://s3cu14r.wordpress.com/2009/12/10/getting-gtk-working-with-glade-and-devc/ που βρήκα πρόχειρα στο Google, και είναι ειδικά για Dev-C++ (αλλά είναι παλαιότερο και δεν ξέρω κατά πόσο ισχύει ακόμα ατόφιο). Σχετικά με το error στην τρίλιζα, ίσως μου έχει ξεφύγει κάνα ορθογραφικό λάθος στις διαδρομές των φακέλων (στην ενότητα για την Pelles-C έχω links προς screenshots, οπότε έχουν περισσότερες πιθανότητες να είναι σωστά). ΥΓ. @papi: Από ότι θυμάμαι, το QT δεν έχει C bindings (άρα είναι άχρηστο για την περίπτωσή του φίλου).
gianakakis Δημοσ. 20 Μαρτίου 2013 Μέλος Δημοσ. 20 Μαρτίου 2013 Καλησπέρα, δυστυχώς με πετυχαίνεις σε δύσκολη περίοδο από άποψη ελεύθερου χρόνου. Δεν χρησιμοποιώ dev-c++ αλλά μπορείς να δεις ποια header files (include) και ποια libraries πρέπει να ορίσεις στο dev-c++ διαβάζοντας στο ReadMe της τρίλιζας τις οδηγίες για στήσιμο στην Pelles-C (απλώς εσύ θα τα ορίσεις στο περιβάλλον του Dev-C++) Μπορείς να τα δεις και σε αυτό το νήμα: http://www.insomnia.gr/topic/450299-notepad-plugins-mingw-ide/page-2?do=findComment&comment=4824638, καθώς επίσης και σε αυτό: http://s3cu14r.wordpress.com/2009/12/10/getting-gtk-working-with-glade-and-devc/ που βρήκα πρόχειρα στο Google, και είναι ειδικά για Dev-C++ (αλλά είναι παλαιότερο και δεν ξέρω κατά πόσο ισχύει ακόμα ατόφιο). Σχετικά με το error στην τρίλιζα, ίσως μου έχει ξεφύγει κάνα ορθογραφικό λάθος στις διαδρομές των φακέλων (στην ενότητα για την Pelles-C έχω links προς screenshots, οπότε έχουν περισσότερες πιθανότητες να είναι σωστά). ΥΓ. @papi: Από ότι θυμάμαι, το QT δεν έχει C bindings (άρα είναι άχρηστο για την περίπτωσή του φίλου). Συγγνώμη που άργησα να απαντήσω δεν έχω καταφέρει να το φτιάξω ακόμη δυστυχώς,θα συνεχίσω να προσπαθώ.Στο 2ο λινκ ακολούθησα τις οδηγίες αλλά μάλλον δεν λειτουργεί πλέον αυτός ο τρόπος. Αν θες ρίξε μια ματιά στις εικόνες κάτω ίσως να μπορείς να βοηθήσεις..Είναι το error που παίρνω όταν πάω να κάνω compile ,στην δεύτερη εικόνα είναι τα project options..
migf1 Δημοσ. 20 Μαρτίου 2013 Δημοσ. 20 Μαρτίου 2013 Καλησπέρα, μάλλον έχεις ξεχάσει να ορίσεις που να ψάχνει για τα header files και τα libraries, στην καρτέλα Directories Σου έχω επισυνάψει screenshots με τα οποία δοκίμασα και λειτουργεί το παρακάτω hello-world... #include <gtk/gtk.h> /* -------------------------------------------------------- */ void hello( void ) { g_print ("Hello World\n"); } /* -------------------------------------------------------- */ void destroy( void ) { gtk_main_quit (); } /* -------------------------------------------------------- */ int main( int argc, char *argv[] ) { GtkWidget *window = NULL; GtkWidget *button = NULL; gtk_init( &argc, &argv ); window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_signal_connect( GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(destroy), NULL ); gtk_container_border_width( GTK_CONTAINER (window), 10 ); button = gtk_button_new_with_label( "Hello World" ); gtk_signal_connect( GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(hello), NULL ); gtk_signal_connect_object( GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(window) ); gtk_container_add( GTK_CONTAINER(window), button ); gtk_widget_show( button ); gtk_widget_show( window ); gtk_main(); return 0; } Αν εξακολουθείς να έχεις πρόβλημα, δοκίμασε να ορίσεις την 32μπιτη έκδοση του mingw.
migf1 Δημοσ. 21 Μαρτίου 2013 Δημοσ. 21 Μαρτίου 2013 Σε περίπτωση που δεν έχεις βγάλει ακόμα άκρη, βρήκα λίγο χρόνο σήμερα και έφτιαξα ένα Project Template ειδικά για GTK+2 στο Orwell Dev-C++, το οποίο και σου επισυνάπτω στο τέλος του μηνύματος. Βάλε και τα 3 αρχεία που περιέχει το zip μέσα στον φάκελο Templates, στον φάκελο που έχεις εγκαταστήσει το Orwell Dev-C++. Κατόπιν, άνοιξε με έναν text editor το αρχείο Gtk2Hello.template κι αντικατέστησε όλες τις εμφανίσεις της διαδρομής του GTK+2 με αυτή που αντιστοιχεί στο δικό σου σύστημα. Δηλαδή όπου βλέπεις c:/unix/gtk+/... αντικατέστησε το με τον φάκελο που που έχεις εγκαταστήσει το GTK+2 στο δικό σου μηχάνημα (καλό είναι εκείνος ο φάκελος να μην περιέχει κενά διαστήματα). Τέλος, μέσα από το Orwell Dev-C++ διάλεξε: New->Project->[GTK+]->GTK+2 Example δώσε ένα όνομα στο project και θα σου το φτιάξει με ένα αρχείο hello.c που θα έχει γραμμένο κώδικα σε GTK+2. Υπάρχουν όμως 2 προβλήματα. Στην τελευταία έκδοση του Orwell Dev-C++ (την 5.4.1) ενώ κάνει κανονικά compile και build, όταν πας να τρέξεις το .exe μέσα από το IDE βαράει error για μια library του GTK+2 (την libglib-2.0-0.dll). Αν το τρέξεις όμως το .exe έξω από το IDE τρέχει κανονικά. Εγώ κατέβασα την 5.3.0.4 που δείχνω και στο screenshot και εκεί δουλεύει. Με μια μικρή λεπτομέρεια. Την 1η φορά που επιλέγεις Compile σου παραπονιέται πως δεν βρίσκει resource files (αυτά είναι για Win32 programming)... δεν ξέρω γιατί. Αν ξανακάνεις compile όμως στο καπάκι, τότε δουλεύει κανονικά από και και πέρα. Μάλλον κάτι θα θέλει να βάλω μέσα στο template που να του λέει να μην τρέχει το windres.exe αλλά δεν ξέρω πως να το κάνω... δεν βρήκα και τεκμηρίωση, οπότε μια χαρά είναι κι έτσι (η άλλη εναλλακτική είναι να πας να το σβήσεις χειροκίνητα από το παραγόμενο Makefile.win, αλλά περισσότερος κόπος είναι... απλώς αγνόησε το 1ο compilation). Screenshot: Download: Gtk2Hello.template.zip
gianakakis Δημοσ. 21 Μαρτίου 2013 Μέλος Δημοσ. 21 Μαρτίου 2013 Καλησπέρα, μάλλον έχεις ξεχάσει να ορίσεις που να ψάχνει για τα header files και τα libraries, στην καρτέλα Directories Σου έχω επισυνάψει screenshots με τα οποία δοκίμασα και λειτουργεί το παρακάτω hello-world... #include <gtk/gtk.h> /* -------------------------------------------------------- */ void hello( void ) { g_print ("Hello World\n"); } /* -------------------------------------------------------- */ void destroy( void ) { gtk_main_quit (); } /* -------------------------------------------------------- */ int main( int argc, char *argv[] ) { GtkWidget *window = NULL; GtkWidget *button = NULL; gtk_init( &argc, &argv ); window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_signal_connect( GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(destroy), NULL ); gtk_container_border_width( GTK_CONTAINER (window), 10 ); button = gtk_button_new_with_label( "Hello World" ); gtk_signal_connect( GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(hello), NULL ); gtk_signal_connect_object( GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(window) ); gtk_container_add( GTK_CONTAINER(window), button ); gtk_widget_show( button ); gtk_widget_show( window ); gtk_main(); return 0; } Αν εξακολουθείς να έχεις πρόβλημα, δοκίμασε να ορίσεις την 32μπιτη έκδοση του mingw. Είναι εύκολο να βάλεις σε ένα συμπιεσμένο όλα τα αρχείου του project με τις ρυθμίσεις; Έκανα ακριβώς τα ίδια με τα screenshots και μου βγάζει ακόμη πολλά errors.όσο για την έκδοση του mingw που την αλλάζω; Επίσης έχω διαφορετική έκδοση dec c++ από εσένα.. [EDIT]Τώρα είδα το 2ο μήνυμα σου θα το δοκιμάσω και θα σου πώ πως πήγε..Ευχαριστώ..
migf1 Δημοσ. 21 Μαρτίου 2013 Δημοσ. 21 Μαρτίου 2013 Γράφαμε μαζί μάλλον. Δες το αμέσως προηγούμενο ποστ από το δικό σου.
gianakakis Δημοσ. 21 Μαρτίου 2013 Μέλος Δημοσ. 21 Μαρτίου 2013 Γράφαμε μαζί μάλλον. Δες το αμέσως προηγούμενο ποστ από το δικό σου. Έκανα ότι ακριβώς μου είπες στο 2ο post σου και μου βγάζει λίγα error τώρα. το gtk βρίσκετε στο c:/gtk στο σύστημα μου.
migf1 Δημοσ. 21 Μαρτίου 2013 Δημοσ. 21 Μαρτίου 2013 Δεν ξέρω τι συμβαίνει. Είσαι σίγουρος πως δεν έχεις κάποιο τυπογραφικό λάθος στις διαδρομές των includes και των libraries? Κάτι τέτοιο φαίνεται να συμβαίνει από το error που παίρνεις (δεν μπορεί να βρει το σωστό path). Αν είσαι σίγουρος πως τα έχεις σωστά, δοκίμασε να βάλεις και τον πηγαίο σου κώδικα σε διαδρομή που να ΜΗΝ περιέχει κανένα κενό διάστημα στο όνομά της (βλέπω π.χ. πως το hello.c το έχεις στο ../GUI project/... Αν δεν σου κάνει κόπο ανέβασε σε ένα ζιπ και το Makefile.win που παράγει το Dev-C++ στον φάκελο που έχεις το hello.c να του ρίξω μια ματιά. Α, και τον compiler τον καθορίζεις από το Project->Project Options->[Compiler] στην 1η-1η λίστα... (αφού πρώτα έχεις φορτώσει το project)... βεβαιώσου πως έχεις 32μπιτο compiler εκεί.
gianakakis Δημοσ. 21 Μαρτίου 2013 Μέλος Δημοσ. 21 Μαρτίου 2013 Δεν ξέρω τι συμβαίνει. Είσαι σίγουρος πως δεν έχεις κάποιο τυπογραφικό λάθος στις διαδρομές των includes και των libraries? Κάτι τέτοιο φαίνεται να συμβαίνει από το error που παίρνεις (δεν μπορεί να βρει το σωστό path). Αν είσαι σίγουρος πως τα έχεις σωστά, δοκίμασε να βάλεις και τον πηγαίο σου κώδικα σε διαδρομή που να ΜΗΝ περιέχει κανένα κενό διάστημα στο όνομά της (βλέπω π.χ. πως το hello.c το έχεις στο ../GUI project/... Αν δεν σου κάνει κόπο ανέβασε σε ένα ζιπ και το Makefile.win που παράγει το Dev-C++ στον φάκελο που έχεις το hello.c να του ρίξω μια ματιά. Α, και τον compiler τον καθορίζεις από το Project->Project Options->[Compiler] στην 1η-1η λίστα... (αφού πρώτα έχεις φορτώσει το project)... βεβαιώσου πως έχεις 32μπιτο compiler εκεί. Έχω 32μπιτο compiler επίσης τα έρρορ τα παίρνω με το template που μου έχεις δώσει ,δεν έχω κάνει κάτι include μέσα απο το dev c++ στις επιλογές έργου αφού είναι έτοιμο το template έτσι δεν είναι; Λινκ για το makefile αλλά και το αρχείο του template που μου είπες να αλλάξω τα path (δεν βρήκα κάτι λάθος) Site: https://dl.dropbox.com/u/34940743/pack.rar">Εδώ
migf1 Δημοσ. 22 Μαρτίου 2013 Δημοσ. 22 Μαρτίου 2013 Έχω 32μπιτο compiler επίσης τα έρρορ τα παίρνω με το template που μου έχεις δώσει ,δεν έχω κάνει κάτι include μέσα απο το dev c++ στις επιλογές έργου αφού είναι έτοιμο το template έτσι δεν είναι; Λινκ για το makefile αλλά και το αρχείο του template που μου είπες να αλλάξω τα path (δεν βρήκα κάτι λάθος) Site: https://dl.dropbox.com/u/34940743/pack.rar">Εδώ Ναι, το template λογικά πρέπει να αναλαμβάνει να σετάρει όλα τα inclusions. Μπορείς να τα διασταυρώσεις από το Project->Project Options. Btw, σε μένα παράγεται διαφορετικό makefile.win, δες στο τέλος του... επίσης σε μένα δεν προσθέτει -static-libstdc++ -static-libgcc flags στον linker (δες όμως και το υστερόγραφο που έχω πιο κάτω) Makefile.zip Δοκίμασες σε φάκελο χωρίς κενά διαστήματα στο όνομά του; Δεν ξέρω τι άλλο να σκεφτώ. Μήπως τελικά υπάρχει κάποια ασυμβατότητα με τα Windows 8; Έχεις δυνατότητα να δοκιμάσεις είτε σε Win7 είτε σε Win XP; ΥΓ1. Παρεμπιπτόντως, ξέχασα να αναφέρω πως εγώ χρησιμοποίησα την portable έκδοση του Orwell Dev-C++, αυτή δηλαδή που είναι ένα σκέτο ζιπ χωρίς installer, και δεν περιέχει μέσα του κανέναν compiler. Το mingw32 toolchain το έχω σετάρει αυτόνομα μόνο του (όπως περιγράφω αναλυτικά σε εκείνο το νήμα για το Notepad++, για το οποίο έχω ήδη δώσει λινκ σε προηγούμενο ποστ) και απλώς έχω πει του Dev-C++ να κοιτάει εκεί για compiler. Από περιέργεια, κι αν έχεις κουράγιο και χρόνο, δοκίμασε να στήσεις το mingw32 όπως περιγράφω σε εκείνο το νήμα και κάνε compile από γραμμή εντολών (όχι δλδ με Dev-C++) όπως επίσης περιγράφω σε εκείνο το νήμα. Αν δουλέψει, θα ξέρουμε τουλάχιστον πως το πρόβλημα δεν είναι το GTK+ (και θα είναι είτε ο Dev-C++ με τα Win8, είτε το ενσωματωμένο mingw toolchain του Dev-C++). ΥΓ2. Βασικά είναι υποχρεωτικό το Dev-C++? Το Code:Blocks (έκδοση 10 έχω, έχει βγει και 12) έχει έτοιμο GTK+ project, και απλά του δείχνεις τον κεντρικό φάκελο που έχεις εγκαταστήσει το GTK+ και καθαρίζεις... εκτός αν έχει και το Code::Blocks τίποτα θέματα με Win8 )
gianakakis Δημοσ. 22 Μαρτίου 2013 Μέλος Δημοσ. 22 Μαρτίου 2013 Ναι, το template λογικά πρέπει να αναλαμβάνει να σετάρει όλα τα inclusions. Μπορείς να τα διασταυρώσεις από το Project->Project Options. Btw, σε μένα παράγεται διαφορετικό makefile.win, δες στο τέλος του... επίσης σε μένα δεν προσθέτει -static-libstdc++ -static-libgcc flags στον linker (δες όμως και το υστερόγραφο που έχω πιο κάτω) Makefile.zip Δοκίμασες σε φάκελο χωρίς κενά διαστήματα στο όνομά του; Δεν ξέρω τι άλλο να σκεφτώ. Μήπως τελικά υπάρχει κάποια ασυμβατότητα με τα Windows 8; Έχεις δυνατότητα να δοκιμάσεις είτε σε Win7 είτε σε Win XP; ΥΓ1. Παρεμπιπτόντως, ξέχασα να αναφέρω πως εγώ χρησιμοποίησα την portable έκδοση του Orwell Dev-C++, αυτή δηλαδή που είναι ένα σκέτο ζιπ χωρίς installer, και δεν περιέχει μέσα του κανέναν compiler. Το mingw32 toolchain το έχω σετάρει αυτόνομα μόνο του (όπως περιγράφω αναλυτικά σε εκείνο το νήμα για το Notepad++, για το οποίο έχω ήδη δώσει λινκ σε προηγούμενο ποστ) και απλώς έχω πει του Dev-C++ να κοιτάει εκεί για compiler. Από περιέργεια, κι αν έχεις κουράγιο και χρόνο, δοκίμασε να στήσεις το mingw32 όπως περιγράφω σε εκείνο το νήμα και κάνε compile από γραμμή εντολών (όχι δλδ με Dev-C++) όπως επίσης περιγράφω σε εκείνο το νήμα. Αν δουλέψει, θα ξέρουμε τουλάχιστον πως το πρόβλημα δεν είναι το GTK+ (και θα είναι είτε ο Dev-C++ με τα Win8, είτε το ενσωματωμένο mingw toolchain του Dev-C++). ΥΓ2. Βασικά είναι υποχρεωτικό το Dev-C++? Το Code:Blocks (έκδοση 10 έχω, έχει βγει και 12) έχει έτοιμο GTK+ project, και απλά του δείχνεις τον κεντρικό φάκελο που έχεις εγκαταστήσει το GTK+ και καθαρίζεις... εκτός αν έχει και το Code::Blocks τίποτα θέματα με Win8 ) Ξέχασα να το αναφέρω αλλά όλες οι τελευταίες μου προσπάθειες ήταν σε win 7 επίσης δοκίμασα σε νέο φάκελο χωρίς κενά ,Τώρα μάλλον θα χρησιμοποιήσω το codeblocks..
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα