gtk+ mit visual studio
- mulprogger
- Beiträge: 16
- Registriert: Do Apr 05, 2012 10:16 am
gtk+ mit visual studio
Hallo!
Habe mich gerade hier registriert bin also neu hier.
Wenn ich mit visual studio 2010 express nach hier angegebenem tutorial vorgehe bekomme ich den fehler:
error C2065: 'argv': nichtdeklarierter bezeichner.
Ist der Bezeichner nun wirklich nicht deklariert oder haut nur meine verlinkung nicht hin?
Ich habe präkompilierte Header deaktiviert...
... ich habe die bibliotheken im ordner C:/gtk+ ...aber am + wird es wohl nicht liegen oder?
mfg
Habe mich gerade hier registriert bin also neu hier.
Wenn ich mit visual studio 2010 express nach hier angegebenem tutorial vorgehe bekomme ich den fehler:
error C2065: 'argv': nichtdeklarierter bezeichner.
Ist der Bezeichner nun wirklich nicht deklariert oder haut nur meine verlinkung nicht hin?
Ich habe präkompilierte Header deaktiviert...
... ich habe die bibliotheken im ordner C:/gtk+ ...aber am + wird es wohl nicht liegen oder?
mfg
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: gtk+ mit visual studio
Könntest du bitte deinen Code posten, und den genauen Text er Fehlermeldung? Es sieht nicht so aus als ob hier das Linken fehlschlägt, sondern das Kompilieren.
Außerdem, bitte lies das: http://www.proggen.org/doku.php?id=faq:frageformulieren
Außerdem, bitte lies das: http://www.proggen.org/doku.php?id=faq:frageformulieren
Haters gonna hate, potatoes gonna potate.
- mulprogger
- Beiträge: 16
- Registriert: Do Apr 05, 2012 10:16 am
Re: gtk+ mit visual studio
Vielen Dank für die schnelle Antwort, ich habe mich sehr darüber gfreut!
edit by fat-lobyte: code tags hinzugefügt
Code: Alles auswählen
#include <gtk/gtk.h>
int main (int argc, char ** agrv)
{
GtkWidget *dialog;
/*Gtk initialisieren*/
gtk_init(&argc, &argv);
/*message Box erzeugen*/
dialog = gtk_message_dialog_new( NULL,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"Wir benutzen eine externe Libary /n"
"proggen.org-Tutorial");
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(dialog),
"Das erste Argument: %s",
(argc >1) ? argv[1] : "-nicht angegeben-");
gtk_dialog_run (GTK_DIALOG (dialog));
/* Daten freigeben */
gtk_widget_destroy (dialog);
/* fertig */
return 0;
}
Code: Alles auswählen
1>------ Erstellen gestartet: Projekt: test2, Konfiguration: Debug Win32 ------
1>Der Buildvorgang wurde am 05.04.2012 12:54:33 gestartet.
1>InitializeBuildStatus:
1> Aktualisieren des Timestamps von "Debug\test2.unsuccessfulbuild".
1>ClCompile:
1> main.cpp
1>c:\users\arbeit\documents\visual studio 2010\projects\test2\test2\main.cpp(11): error C2065: 'argv': nichtdeklarierter Bezeichner
1>c:\users\arbeit\documents\visual studio 2010\projects\test2\test2\main.cpp(19): error C2664: 'gtk_message_dialog_new': Konvertierung des Parameters 2 von 'int' in 'GtkDialogFlags' nicht möglich
1> Konvertierung in einen Enumerationstypen erfordert explizite Typumwandlung (static_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat)
1>c:\users\arbeit\documents\visual studio 2010\projects\test2\test2\main.cpp(23): error C2065: 'argv': nichtdeklarierter Bezeichner
1>
1>Fehler beim Erstellen
1>
1>Verstrichene Zeit 00:00:02.60
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: gtk+ mit visual studio
Kein Problem, wir helfen gerne.
Bitte setze noch das nächste mal die
Bitte setze noch das nächste mal die
Code: Alles auswählen
[/code ]-Tags um deinen Code herum, das habe ich für dich gemacht. Damit ist der Code viel besser lesbar.
Kuck doch mal GAAAAAAANNNZZ genau in die Definition der main() - Funktion, in Zeile 3. Quizzfrage: wie heißen die Parameter [b]genau[/b], und unter welchem Namen versuchst du sie danach zu verwenden?
Haters gonna hate, potatoes gonna potate.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: gtk+ mit visual studio
Willkommen im Forum, mluprogger 
Mein Tipp: Das war ein Tipp

Mein Tipp: Das war ein Tipp

Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- mulprogger
- Beiträge: 16
- Registriert: Do Apr 05, 2012 10:16 am
Re: gtk+ mit visual studio
Haha entschuldige vielmals aber das passiert eben wenn man den code nicht selbst schreibt...
Jetzt habe ich noch einen Fehler und ich Hoffe ich langweile euch nicht damit:
Es würde mir sehr gut tun wenn heute noch etwas funktioniert, damit ich die Freude daran behalte 
Danke im vorraus!
Jetzt habe ich noch einen Fehler und ich Hoffe ich langweile euch nicht damit:
Code: Alles auswählen
1> main.cpp
1>c:\users\arbeit\documents\visual studio 2010\projects\test2\test2\main.cpp(19): error C2664: 'gtk_message_dialog_new': Konvertierung des Parameters 2 von 'int' in 'GtkDialogFlags' nicht möglich
1> Konvertierung in einen Enumerationstypen erfordert explizite Typumwandlung (static_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat)
1>
1>Fehler beim Erstellen
1>
1>Verstrichene Zeit 00:00:01.26
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Danke im vorraus!
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: gtk+ mit visual studio
Der Compiler verbindet die beiden Flags zu einem integer. Du musst ihm erklären, dass es weiterhin Flags sind:
Ich nehme an, das steht so im Tutorial, hm?!
Das Gtk-Tutorial wurde von hofian begonnen, aber der hat offenbar keine Zeit mehr gehabt. Da muss ich dann wohl ggfs. mal ran.
PS:
Wo hast Du den Code denn her, wenn er nicht aus dem Tutorial kommt, ich habe ihn nicht im Wiki gefunden!?
Code: Alles auswählen
/*message Box erzeugen*/
dialog = gtk_message_dialog_new( NULL,
(GtkDialogFlags) GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"Wir benutzen eine externe Libary /n"
"proggen.org-Tutorial");
Das Gtk-Tutorial wurde von hofian begonnen, aber der hat offenbar keine Zeit mehr gehabt. Da muss ich dann wohl ggfs. mal ran.
PS:
Wo hast Du den Code denn her, wenn er nicht aus dem Tutorial kommt, ich habe ihn nicht im Wiki gefunden!?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- mulprogger
- Beiträge: 16
- Registriert: Do Apr 05, 2012 10:16 am
Re: gtk+ mit visual studio
Ich habe es jetzt wie du hier bzw mit static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL) an der Stelle versucht (siehe Fehlerausgabe oben) und beides funktioniert nicht...
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: gtk+ mit visual studio
Ich weiß nicht welchen Typ GTK_DIALOG_DESTROY_WITH_PARENT hat, aber wenn man auf ihn den | operator anwendet, dann ist der Rückgabewert anscheinend int. Das musst du ändern.
Ich glaube du castest nur eine Flag-Konstante, du solltest aber das ganze Ergebnis des | Operators casten:
Merkst du den Unterschied?
Ich glaube du castest nur eine Flag-Konstante, du solltest aber das ganze Ergebnis des | Operators casten:
Code: Alles auswählen
static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT)
Haters gonna hate, potatoes gonna potate.
- mulprogger
- Beiträge: 16
- Registriert: Do Apr 05, 2012 10:16 am
Re: gtk+ mit visual studio
Ja wenn ich das lese macht es Sinn! Doch mir war nicht bewusst das man im Argument ein "oder" verwenden kann, dies ist doch was hier passiert oder?
Jedenfalls bin ich froh, dass es funktioniert!
Ich bin sehr positiv überrascht von diesem Forum und kann es jetzt schon nur weiterempfehlen, vielen Dank!
Jedenfalls bin ich froh, dass es funktioniert!
Ich bin sehr positiv überrascht von diesem Forum und kann es jetzt schon nur weiterempfehlen, vielen Dank!