Προς το περιεχόμενο

Gtk στην C με DEV c++


gianakakis

Προτεινόμενες αναρτήσεις

  • Απαντ. 38
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

Άντε να δούμε!

 

Γράψε αν πέτυχε τελικά, γιατί με έχει πεισμώσει και μένα η φάση :)

Δεν με βλέπω καλά..

Έβαλα το codeblocks πατάω νεο project μετά gtk project κανονικά βάζω το path που είναι το gtk (c:\gtk)

και όταν κάνω compile and run πετάγεται αυτό που να μην πεταγόταν..Και η πλάκα είναι ότι το αρχείο είναι στο bin του gtk (βλέπε κάτω)

 

post-139804-0-36064200-1363914300_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλημέρα,

 

αυτό ακριβώς το μήνυμα έβγαζε και σε μένα η τελευταία έκδοση του Orwell Dev-C++ όταν πήγαινα να τρέξω το παραγόμενο εκτελέσιμο μέσα από το IDE του. Όταν όμως έτρεχα το εκτελέσιμο έξω από το IDE έτρεχε κανονικά. Την υποβάθμισα στην έκδοση 5.3.0.4 και λύθηκε αυτό το πρόβλημα.

 

Δεν το έχω ψάξει καθόλου, αλλά υποψιάζομαι πως έχουν αλλάξει τον τρόπο με τον οποίον κάνουν execute το εκτελέσιμο τα IDEs, ενδεχομένως να έχει να κάνει με υποστήριξη για Windows8... δεν ξέρω καθόλου.

 

Στη θέση σου, θα έστηνα και θα δοκίμαζα GTK+ και MinGW  σε γραμμή εντολών, όπως περιγράφω αναλυτικά σε εκείνο το νήμα του Notepad++. Είναι ένας σίγουρος τρόπος για να βεβαιωθείς πως λειτουργούν (ή δεν λειτουργούν) πριν περάσεις σε IDE. Εναλλακτικά μπορείς να δοκιμάσεις την τρέχουσα εγκατάσταση του GTK+ σου και του MinGW (την τελευταία σου την έχει κάνει ο installer του Orwell Dev-C++, κι ενδεχομένως να σου έχει κάνει και 2η ο installer του Code::Blocks, αν και νομίζω το Code::Blocks ψάχνει πρώτα να βρει αν υπάρχει MinGW ήδη στο σύστημά σου, κι αν υπάρχει το χρησιμοποιεί).

 

Δοκίμασε επίσης και με την προηγούμενη έκδοση του Code::Blocks, την 10.something.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλημέρα,

 

αυτό ακριβώς το μήνυμα έβγαζε και σε μένα η τελευταία έκδοση του Orwell Dev-C++ όταν πήγαινα να τρέξω το παραγόμενο εκτελέσιμο μέσα από το IDE του. Όταν όμως έτρεχα το εκτελέσιμο έξω από το IDE έτρεχε κανονικά. Την υποβάθμισα στην έκδοση 5.3.0.4 και λύθηκε αυτό το πρόβλημα.

 

Δεν το έχω ψάξει καθόλου, αλλά υποψιάζομαι πως έχουν αλλάξει τον τρόπο με τον οποίον κάνουν execute το εκτελέσιμο τα IDEs, ενδεχομένως να έχει να κάνει με υποστήριξη για Windows8... δεν ξέρω καθόλου.

 

Στη θέση σου, θα έστηνα και θα δοκίμαζα GTK+ και MinGW  σε γραμμή εντολών, όπως περιγράφω αναλυτικά σε εκείνο το νήμα του Notepad++. Είναι ένας σίγουρος τρόπος για να βεβαιωθείς πως λειτουργούν (ή δεν λειτουργούν) πριν περάσεις σε IDE. Εναλλακτικά μπορείς να δοκιμάσεις την τρέχουσα εγκατάσταση του GTK+ σου και του MinGW (την τελευταία σου την έχει κάνει ο installer του Orwell Dev-C++, κι ενδεχομένως να σου έχει κάνει και 2η ο installer του Code::Blocks, αν και νομίζω το Code::Blocks ψάχνει πρώτα να βρει αν υπάρχει MinGW ήδη στο σύστημά σου, κι αν υπάρχει το χρησιμοποιεί).

 

Δοκίμασε επίσης και με την προηγούμενη έκδοση του Code::Blocks, την 10.something.

Πριν προχωρήσω στο compile από την console θέλω να εξαντλήσω όλες τις πιθανότητες να δουλέψει από τον IDE.

 

Αρχικά να σου θυμίσω ότι τώρα είμαι σε windows 7.

 

Ύστερα έψαξα και βρήκα ότι το minGW είναι εγκατεστημένο 2 φορές μία στο

 

C:\Program Files\Dev-Cpp\MinGW32    (δηλαδή εγκατεστημένο από τον Orwell dev c++)

 

και μία από Codeblocks εδώ C:\CodeBlocks\MinGW

 

Επίσης το .exe που δημιουργεί το Codeblocks βγάζει το ίδιο error όταν το τρέχω μόνο του.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Πριν προχωρήσω στο compile από την console θέλω να εξαντλήσω όλες τις πιθανότητες να δουλέψει από τον IDE.

 

Βασικά θα είχες ήδη καθαρίσει νομίζω αν είχες ξεκινήσει εξαρχής από γραμμή εργαλείων εντολών (όπως εύστοχα σημείωσε και ο pmav99).

 

 

Αρχικά να σου θυμίσω ότι τώρα είμαι σε windows 7.

 

Ναι, το κατάλαβα αυτό. Εικάζω όμως πως στις νέες τους εκδόσεις τα 2 IDE που δοκιμάσαμε έχουν αλλάξει τον τρόπο με τον οποίον καλούν τα εκτελέσιμα, ενδεχομένως για τίποτα αλλαγές που μπορεί να έχουν γίνει στα Win8, στην προσπάθειά τους να είναι συμβατά με τα Win8. Να έχουν δημιουργήσει δηλαδή έτσι ασυμβατότητα με τις προηγούμενες εκδόσεις των Win.

 

Δεν το ξέρω όμως, δεν το χω ψάξει (ούτε καν έχω Windows 8 ακόμα) απλά μια υπόθεση κάνω επειδή βλέπω πως έχουν το ίδιο θέμα 2 διαφορετικά IDEs. Αν και από ότι γράφεις τώρα, εσένα δεν σου τρέχει ούτε έξω από το IDE το εκτελέσιμο. Ειλικρινά δεν ξέρω τι μπορεί να φταίει.

 

Δοκίμασε καθαρά από γραμμή εντολών, είναι καλός τρόπος να εντοπίσεις τουλάχιστον σε 1η φάση αν φταίει κάτι άσχετο με τα IDEs.

Επεξ/σία από migf1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τελικά τι έγινε; Τα κατάφερες;

Τώρα το παλεύω να το κάνω από console ,δεν έχω καταλάβει ένα πραγματάκι.

 

πρέπει να τρέξω αυτό το command;

 

gcc gtk2prog.c -o gtk2prog.exe %GTK2_CFLAGS% %GTK2_LIBS%
 

ας πούμε ότι έχω το αρχείο hello.c στο desktop και το gcc.exe βρίσκεται εδώ C:\CodeBlocks\MinGW\bin

 

πως θα γίνει το command?

 

και αν κατάλαβα καλά πρέπει να φτίαξω και 2 μεταβλητές περιβάλλοντος με ονόματα GTK2_CFLAGS και GTK2_LIBS ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τώρα το παλεύω να το κάνω από console ,δεν έχω καταλάβει ένα πραγματάκι.

 

πρέπει να τρέξω αυτό το command;

 

gcc gtk2prog.c -o gtk2prog.exe %GTK2_CFLAGS% %GTK2_LIBS%
 

ας πούμε ότι έχω το αρχείο hello.c στο desktop και το gcc.exe βρίσκεται εδώ C:\CodeBlocks\MinGW\bin

 

πως θα γίνει το command?

 

και αν κατάλαβα καλά πρέπει να φτίαξω και 2 μεταβλητές περιβάλλοντος με ονόματα GTK2_CFLAGS και GTK2_LIBS ?

 

Επειδή από ότι καταλαβαίνω δεν είσαι εξοικειωμένος με την γραμμή εντολών, θα σου πρότεινα να διαβάσεις εκείνο το νήμα με το Notepad++ + MinGW = IDE όπου πιστεύω περιγράφω αναλυτικά & εικονογραφημένα τα βήματα που χρειάζονται για να στήσεις τον MinGW και το GTK+.

 

Αν είναι κάτι που σε δυσκολεύει, πόσταρέ το εδώ να το λύσουμε.

 

ΥΓ. Αν διαβάσεις το νήμα εκείνο, υπάρχει και πιο εύκολη εντολη, μέσω της MSYS του mingw toolchain.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επειδή από ότι καταλαβαίνω δεν είσαι εξοικειωμένος με την γραμμή εντολών, θα σου πρότεινα να διαβάσεις εκείνο το νήμα με το Notepad++ + MinGW = IDE όπου πιστεύω περιγράφω αναλυτικά & εικονογραφημένα τα βήματα που χρειάζονται για να στήσεις τον MinGW και το GTK+.

 

Αν είναι κάτι που σε δυσκολεύει, πόσταρέ το εδώ να το λύσουμε.

 

ΥΓ. Αν διαβάσεις το νήμα εκείνο, υπάρχει και πιο εύκολη εντολη, μέσω της MSYS του mingw toolchain.

Ακολούθησα τις οδηγίες σου στο άλλο νήμα:

 

Έχω σετάρει το MinGW στο c:\mingw

Έχω φτιάξει τις μεταβλητές όπως είπες εκεί καθώς έφτιαξα και τις μεταβλητές για το gtk

 

η ερώτηση μου είναι πρέπει να έχω και 2 μεταβλητές με όνομα

 

GTK2_CFLAGS και GTK2_LIBS ;

 

εγώ αυτό που έκανα ήταν να φτιάξω την GTK2_CFLAGS με τιμή μεταβλητής ότι μου έδωσε η εντολή

 

pkg-config.exe --cflags gtk+-2.0
 

 

 

και την GTK2_LIBS  με τιμή μεταβλητής ότι μου έδωσε η εντολή

 

pkg-config.exe --libs gtk+-2.0
 

Ύστερα ,τρέχοντας αυτό το command (προφανώς με τα σωστά filenames) μου βγάζει παρακάτω σφάλμα (εικόνα)

 

gcc gtk2prog.c -o gtk2prog.exe %GTK2_CFLAGS% %GTK2_LIBS%

 

post-139804-0-60274200-1364169621_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

 

Αν δώσεις μέσα στην MSYS κονσόλα του mingw το παρακάτω τι σου βγάζει?

 

 

gcc gtktest.c -o gtktest.exe `pkg-config --cflags --libs gtk+-2.0`

άκυρο το προηγούμενο (αν το διάβασες)τώρα μου βγάζει αυτό..post-139804-0-52336400-1364172779_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν, δοκίμασε να βάλεις τη διαδρομή του pkg-config στο PATH των windows. Επίσης βεβαιώσου πως η διαδρομή του φακέλου του gtk αλλά και του mingw που χρησιμοποιείς βρίσκεται στην αρχή του PATH των Windows (σε περίπτωση δηλαδή που έχεις περισσότερες εγκαταστάσεις από μια).

 

Μετά από κάθε αλλαγή που κάνεις στο PATH των Windows, πρέπει να κλείσεις τυχόν ανοιχτά παράθυρα κονσόλας και να τα ξανανοίξεις προκειμένου να καταλάβουν το αλλαγμένο PATH.

 

Πάντως κατι με το PATH πρέπει να παίζει. Καλού κακού όρισε και μια μεταβλητή περιβάλλοντος GTK_HOME=blabla/gtk/bin (αν και αυτό δεν πρέπει να παίζει ρόλο).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν, δοκίμασε να βάλεις τη διαδρομή του pkg-config στο PATH των windows. Επίσης βεβαιώσου πως η διαδρομή του φακέλου του gtk αλλά και του mingw που χρησιμοποιείς βρίσκεται στην αρχή του PATH των Windows (σε περίπτωση δηλαδή που έχεις περισσότερες εγκαταστάσεις από μια).

 

Μετά από κάθε αλλαγή που κάνεις στο PATH των Windows, πρέπει να κλείσεις τυχόν ανοιχτά παράθυρα κονσόλας και να τα ξανανοίξεις προκειμένου να καταλάβουν το αλλαγμένο PATH.

 

Πάντως κατι με το PATH πρέπει να παίζει. Καλού κακού όρισε και μια μεταβλητή περιβάλλοντος GTK_HOME=blabla/gtk/bin (αν και αυτό δεν πρέπει να παίζει ρόλο).

Διάβασε παραπάνω δεν είχα βάλει bakquote στο command..

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Διάβασε παραπάνω δεν είχα βάλει bakquote στο command..

 

Άρα σου τρέχει μια χαρά :)

 

Τα κινέζικα που βλέπεις είναι μάλλον επειδή μέσα στο πρόγραμμα του έχεις πει να γράψει στην κονσόλα κάτι στα Ελληνικά. Άλλαξέ τα σε Αγγλικά ή αν θες Ελληνικά, δώσε στον gcc -finput-charset=cp1253 (μαζί με τα υπόλοιπα). Αν βέβαια γράψεις κανονική GUI εφαρμογή και το output το κάνεις μέσα σε παράθυρο ή σε dialog-box (όχι δηλαδή στην κονσόλα με printf), τότε δεν το χρειάζεσαι εκείνο το flag.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...