GTKmm Tutorial Teil 1



  • Hallo,

    das hier runterladen und installieren.

    MfG

    GPC



  • Hallo,

    immer wenn ich versuche gtkmm Applikationen mit DevC++ zu kompilieren erhalte ich diese sonderbare Fehlermeldung:

    [Linker error] undefined reference to `__cpu_features_init' 
    ld returned 1 exit status 
    C:\Dev-Cpp\Makefile.win [Build Error]  [Projekt2.exe] Error 1
    

    Ich kann damit irgendwie nichts anfangen. Wenn ich in der CMD

    'pkg-config --modversion --cflags --libs gtkmm-2.4'
    

    eingebe, dann bekomme ich diese Ausgabe

    2.10.5
    -mms-bitfields -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GT
    K/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC:/GTK/include/gdkmm-2.4
    -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atk
    mm-1.6 -IC:/GTK/include/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-
    2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/lib
    /gtk-2.0/include -IC:/GTK/include/cairomm-1.0 -IC:/GTK/include/pango-1.0 -IC:/GT
    K/include/cairo -IC:/GTK/include/freetype2 -IC:/GTK/include/atk-1.0  -user32 -Wl
    ,-luuid -LC:/GTK/lib -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpango
    mm-1.4 -lcairomm-1.0 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -limm32 -lshell32 -
    lole32 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lca
    iro -lpangoft2-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lgobject-2.0 -lg
    module-2.0 -lglib-2.0 -lintl -liconv
    

    Es scheint also alles in Ordnung zu sein.
    Desweiteren habe ich mir diese Anleitung durchgelesen: http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/apes02.html. Ich verstehe nicht, wieso die auf der offiziellen Seite

    g++ `pkg-config --cflags gtkmm-2.4` my_programs.cc -o my_program `pkg-config --libs gtkmm-2.4`
    

    als Compiler-Befehl schreiben, wenn dieser Befehl doch gar nicht geht!

    Außerdem wundert mich, dass

    'pkg-config --modversion --cflags --libs gtkmm-2.4'
    

    zwar in der CMD eine ordentliche Ausgabe gibt, unter cygwin erhalte ich als Antwort jedoch, dass gtkmm-2.4 nicht gefunden wurde, und ich gtkmm-2.4.pc zur PKG_CONFIG_PATH Variable hinzufügen soll. Das habe ich aber bereits getan!

    Ich hoffe ihr könnt mir helfen

    Danke



  • Hallo,

    wollte mir das eigentlich über's Wochenende ansehen, hab's aber leider verpennt.
    Setz am Dienstag noch mal 'n Post hierrein oder 'ne E-Mail an mich ab, falls ich's wieder vergesse.

    MfG

    GPC



  • basti33 schrieb:

    Hallo,

    immer wenn ich versuche gtkmm Applikationen mit DevC++ zu kompilieren erhalte ich diese sonderbare Fehlermeldung:

    [Linker error] undefined reference to `__cpu_features_init' 
    ld returned 1 exit status 
    C:\Dev-Cpp\Makefile.win [Build Error]  [Projekt2.exe] Error 1
    

    Könnte ein Problem von Dev-Cpp sein... wäre nicht das erste mal.

    Ich kann damit irgendwie nichts anfangen. Wenn ich in der CMD

    'pkg-config --modversion --cflags --libs gtkmm-2.4'
    

    eingebe, dann bekomme ich diese Ausgabe

    2.10.5
    -mms-bitfields -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GT
    K/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC:/GTK/include/gdkmm-2.4
    -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atk
    mm-1.6 -IC:/GTK/include/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-
    2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/lib
    /gtk-2.0/include -IC:/GTK/include/cairomm-1.0 -IC:/GTK/include/pango-1.0 -IC:/GT
    K/include/cairo -IC:/GTK/include/freetype2 -IC:/GTK/include/atk-1.0  -user32 -Wl
    ,-luuid -LC:/GTK/lib -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpango
    mm-1.4 -lcairomm-1.0 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -limm32 -lshell32 -
    lole32 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lca
    iro -lpangoft2-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lgobject-2.0 -lg
    module-2.0 -lglib-2.0 -lintl -liconv
    

    Es scheint also alles in Ordnung zu sein.

    Jedenfalls sehe ich nicht, dass ein Paket nicht gefunden wurde, ist alles da.

    Zum Vergleich meine Ausgabe:

    [gpc@desktop ~]$ pkg-config --modversion --cflags --libs gtkmm-2.4
    2.10.8
    -DXTHREADS -DXUSE_MTSAFE_API 
    -I/usr/local/include/gtkmm-2.4 
    -I/usr/local/lib/gtkmm-2.4/include 
    -I/usr/local/include/glibmm-2.4 
    -I/usr/local/lib/glibmm-2.4/include 
    -I/usr/local/include/gdkmm-2.4 
    -I/usr/local/lib/gdkmm-2.4/include 
    -I/usr/local/include/pangomm-1.4 
    -I/usr/local/include/atkmm-1.6 
    -I/usr/local/include/gtk-2.0 
    -I/usr/local/include/sigc++-2.0
    -I/usr/local/lib/sigc++-2.0/include 
    -I/usr/local/include/glib-2.0 
    -I/usr/local/lib/glib-2.0/include 
    -I/usr/local/lib/gtk-2.0/include 
    -I/usr/local/include/cairomm-1.0 
    -I/usr/local/include/pango-1.0 
    -I/usr/local/include/cairo 
    -I/usr/X11R6/include 
    -I/usr/local/include/freetype2 
    -I/usr/local/include 
    -I/usr/local/include/atk-1.0  
    -Wl,--rpath -Wl,/usr/local/lib -pthread -L/usr/local/lib -L/usr/X11R6/lib 
    -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-x11-2.0 -lpangomm-1.4 -lcairomm-1.0 
    -lglibmm-2.4 -lsigc-2.0 -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -latk-1.0 
    -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXcursor -lXfixes -lcairo -lpangoft2-1.0 
    -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lXrender -lX11 -lXext -lgobject-2.0 
    -lgmodule-2.0 -lglib-2.0 -liconv
    

    Desweiteren habe ich mir diese Anleitung durchgelesen: http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/apes02.html. Ich verstehe nicht, wieso die auf der offiziellen Seite

    g++ `pkg-config --cflags gtkmm-2.4` my_programs.cc -o my_program `pkg-config --libs gtkmm-2.4`
    

    als Compiler-Befehl schreiben, wenn dieser Befehl doch gar nicht geht!

    Ja, also diesen Befehl kannst du z.B. in die msys oder cygwin Shell eintippen. Die arbeitet sehr gut mit MinGW zusammen. pkg-config übernimmt im Prinzip für dich das Angeben der Paktete, die zum Linken benötigt werden.

    Außerdem wundert mich, dass

    'pkg-config --modversion --cflags --libs gtkmm-2.4'
    

    zwar in der CMD eine ordentliche Ausgabe gibt, unter cygwin erhalte ich als Antwort jedoch, dass gtkmm-2.4 nicht gefunden wurde, und ich gtkmm-2.4.pc zur PKG_CONFIG_PATH Variable hinzufügen soll. Das habe ich aber bereits getan!

    Zeig mal bitte deine profile-Datei von cygwin.

    Noch was: Dev-Cpp ist ein ziemlich verbuggtes Tool, weshalb man oft damit Probleme hat. Wenn du willst bzw. kannst, empfehle ich dir den Umstieg auf das Visual Studio 2005 Express Edition. In den FAQ des guif Forum gibt es ein Tutorial, wie man GTK+ und gtkmm damit zum Laufen bringt.

    MfG

    GPC



  • Hallo und danke für deine Antwort,

    hier ist meine Profiles-Datei aus C:\cygwin\etc.

    # base-files version 3.7-1
    
    # WARNING
    #
    # IF THIS FILE IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
    # SETUP PROGRAM.  IT BECOMES YOUR RESPONSIBILITY.
    
    # The latest version as installed by the Cygwin Setup program can
    # always be found at /etc/defaults/etc/profile
    
    # Some resources...
    
    # Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
    # Consistent BackSpace and Delete Configuration:
    #   http://www.ibb.net/~anne/keyboard.html
    # The Linux Documentation Project: http://www.tldp.org/
    # The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/
    
    # Setup some default paths.  Note that this order will allow user installed
    #  software to override 'system' software
    
    # If you wish to change the path for all users, it is recommended you edit
    #  /etc/bash.bashrc
    
    # If you wish all future users to have some default setup, it is recommended you
    #  edit /etc/skel/.bashrc
    
    # If you wish to change the path on a user by user basis, it is recommended you
    #  edit ~/.bashrc
    
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH
    export PATH
    
    MANPATH=/usr/local/man:/usr/share/man:/usr/man:$MANPATH
    export MANPATH
    
    INFOPATH=/usr/local/info:/usr/share/info:/usr/info:$INFOPATH
    export INFOPATH
    
    # Set the user id
    USER="`id -un`"
    export USER
    
    # Here is how HOME is set, in order of priority, when starting from Windows
    #  1) From existing HOME in the Windows environment, translated to a Posix path
    #  2) from /etc/passwd, if there is an entry with a non empty directory field
    #  3) from HOMEDRIVE/HOMEPATH
    #  4) / (root)
    
    # If the home directory doesn't exist, create it.
    if [ ! -d "${HOME}" ]; then
    	mkdir -p "${HOME}"
    	echo "Copying skeleton files."
    	echo "These files are for the user to personalise"
    	echo "their cygwin experience."
    	echo
    	echo "These will never be overwritten."
    	echo
    	cd /etc/skel
    	/bin/find . -type f | while read f; do
    		fDest=`echo ${f} | sed -e 's/^\.//g'`
    		if [ ! -e "${HOME}${fDest}" -a ! -L "${HOME}${fDest}" ]; then
    			/usr/bin/install -D -p -v "${f}" "${HOME}/${fDest}"
    		fi
    	done
    fi
    
    chmod 1777 /tmp 2>/dev/null
    
    # Default to unix make mode
    MAKE_MODE=unix
    export MAKE_MODE
    
    # It is recommended that cvs uses ssh for it's remote shell environment
    CVS_RSH=/bin/ssh
    export CVS_RSH
    
    # Patches to Cygwin always appreciated ;)
    # CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/src
    # export CVSROOT
    
    # Shell dependent settings
    case "`echo "_$0" | /usr/bin/tr '[:upper:]' '[:lower:]' | /usr/bin/sed -e 's/^_//'`" in
    bash     | -bash     | */bash | \
    bash.exe | -bash.exe | */bash.exe )
    	# Set a HOSTNAME variable
    	HOSTNAME=`hostname`
    	export HOSTNAME
    
    	# Set a default prompt of: user@host and current_directory
    	PS1='[\e]0;\w\a]\n[\e[32m]\u@\h [\e[33m]\w[\e[0m]\n\$ '
    	;;
    ksh*     | -ksh*     | */ksh* | \
    ksh*.exe | -ksh*.exe | */ksh*.exe )
    	# Set a HOSTNAME variable
    	typeset -l HOSTNAME
    
    	# Set a default prompt of: user@host and current_directory
    	PS1='^[]0;${PWD}^G
    ^[[32m${USER}@${HOSTNAME} ^[[33m${PWD}^[[0m
    $ '
    	;;
    zsh*     | -zsh*     | */zsh* | \
    zsh*.exe | -zsh*.exe | */zsh*.exe )
    	# Set a default prompt of: user@host, a command counter, and current_directory
    	PS1='(%n@%m)[%h] %~ %% '
    
    	# Set SHELL if not set
    	if [ ! -z "${ZSH_NAME}" -a -z "${SHELL}" ]; then
    		SHELL="/bin/zsh"
    		export SHELL	
    	fi
    	;;
    sh     | -sh     | */sh | \
    sh.exe | -sh.exe | */sh.exe )
    	# Set a simple prompt
    	PS1='$ '
    	;;
    * )
    	# Sorry, this shell has no defaults in /etc/profile,
    	#  feel free to add your own.
    
    	# If you have some recommendations for what these defaults
    	#  should be, please contact cygwin@cygwin.com with the
    	#  shell details and what you would like added.
    
    	# Thanks
    
    	PS1='$ '
    	;;
    esac
    
    export PS1
    
    # Run all of the profile.d scripts
    # Note that these are supplied by separate packages
    # Ascending alphanumerical order enforced
    if [ -d "/etc/profile.d" ]; then
    	while read f; do
    		if [ -f "${f}" ]; then
    			. "${f}"
    		fi
    	done <<- EOF
    	`/bin/find -L /etc/profile.d -type f -iname '*.sh' -or -iname '*.zsh' | LC_ALL=C sort`
    	EOF
    fi
    
    # Uncomment to use the terminal colours set in DIR_COLOR
    # eval "`dircolors -b /etc/DIR_COLORS`"
    
    # Default to removing the write permission for group and other
    #  (files normally created with mode 777 become 755; files created with
    #  mode 666 become 644)
    umask 022
    
    # Define default printer
    PRINTER=""
    case `uname -s` in
    CYGWIN_NT-*)
    	PRINTER="`regtool -q get '\user\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device' | sed 's/,.*$//'`"
    	;;
    CYGWIN_9?-*)
    	PRINTER="`regtool -q get '\config\System\CurrentControlSet\Control\Print\Printers\Default'`"
    	;;
    esac
    export PRINTER
    
    # Make sure we start in home unless invoked by CHERE
    if [ ! -z "${CHERE_INVOKING}" ]; then
      unset CHERE_INVOKING
    else
      cd "${HOME}"
    fi
    
    # Check to see if mkpasswd/mkgroup needs to be run try and cut down the emails
    #   about this on the lists!
    # If this message keeps appearing and you are sure it's a mistake (ie, don't
    #   email about it!), comment out the test below.
    case `id -ng` in
    mkpasswd )
      echo "Your group is currently \"mkpasswd\".  This indicates that"
      echo "the /etc/passwd (and possibly /etc/group) files should be rebuilt."
      echo "See the man pages for mkpasswd and mkgroup then, for example, run"
      echo "mkpasswd -l [-d] > /etc/passwd"
      echo "mkgroup  -l [-d] > /etc/group"
      echo "Note that the -d switch is necessary for domain users."
      ;;
    
    mkgroup )
      echo "Your group is currently \"mkgroup\".  This indicates that"
      echo "the /etc/group (and possibly /etc/passwd) files should be rebuilt."
      echo "See the man pages for mkpasswd and mkgroup then, for example, run"
      echo "mkpasswd -l [-d] > /etc/passwd"
      echo "mkgroup  -l [-d] > /etc/group"
      echo "Note that the -d switch is necessary for domain users."
      ;;
    
    mkgroup_l_d )
      echo "Your group name is currently \"mkgroup_l_d\". This indicates that not"
      echo "all domain users and groups are listed in the /etc/passwd and"
      echo "/etc/group files."
      echo "See the man pages for mkpasswd and mkgroup then, for example, run"
      echo "mkpasswd -l -d > /etc/passwd"
      echo "mkgroup  -l -d > /etc/group"
      echo
      echo "This message is only displayed once (unless you recreate /etc/group)"
      echo "and can be safely ignored."
    
      # only display the above once
      cp -f /etc/group "${HOME}/group.mkgroup_l_d" \
      && ( [ -w /etc/group ] || chmod --silent a+w /etc/group ; )\
      && sed -e 's/^mkgroup_l_d/mkgroup-l-d/' "${HOME}/group.mkgroup_l_d" > /etc/group \
      && chmod --silent --reference=/etc/passwd /etc/group
      rm -f "${HOME}/group.mkgroup_l_d"
      ;;
    esac
    

    So, ziemlich viel. Hoffe du kannst was damit anfangen.

    Danke

    P.S.: Der Sinn des Tutorials aus der FAQ erschließt sich mir irgendwie nicht so ganz. Ich habe auf den gtkmm Seiten auch etwas über das Benutzen von gtkmm mit Visual C++ gefunden und werde mir das mal anschauen. Es wäre mir aber lieber, den gcc weiterhin verwenden zu können, zumal ich von Visual C++ nicht so angetan bin und das Einrichten von gtkmm für Visual C++ auch recht aufwändig aussieht.



  • basti33 schrieb:

    So, ziemlich viel. Hoffe du kannst was damit anfangen.

    Jo, knall mal
    export PKG_CONFIG_PATH = /usr/local/lib/pkgconfig

    Da rein. Bzw. ersetze den Pfad zu pkgconfig, wohin du ihn installiert hast.

    Ansonsten: Hast du eine .bashrc in deinem cygwin home-Verzeichnis?

    P.S.: Der Sinn des Tutorials aus der FAQ erschließt sich mir irgendwie nicht so ganz.

    Äh, ich war halt zu faul, ständig Fragen zu "Wie benutze ich gtkmm mit VC++" zu beantworten. Daher das tut. Komischerweise kommen ungefähr seit dem Zeitpunkt keine Fragen mehr, wie man GTK+ bzw. gtkmm unter Win mit dem VS einrichtet... entweder nach dem Tut ist alles klar oder alle sind verstört/verängstigt und nehmen doch lieber die WinAPI oder die .NET WinForms 😃

    [...] und das Einrichten von gtkmm für Visual C++ auch recht aufwändig aussieht.

    1. VC++ installieren
    2. gtkmm installieren
    3. Projekt Template benutzen
    4. Fertig.

    😉



  • Und schon taucht das nächste Problem auf: wenn ich das VC++ Template benutze, erhalte ich diese Fehlermeldung

    1>------ Erstellen gestartet: Projekt: gtkmm Template VC 8, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>dlfldlf.cpp
    1>c:\gtk\include\pangomm-1.4\pangomm\context.h(42) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "cairomm/context.h": No such file or directory
    1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Basti\Desktop\gtkmm Template VC 8\gtkmm Template VC 8\Debug\BuildLog.htm" gespeichert.
    1>gtkmm Template VC 8 - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    Hoffe, jemand kann mir weiterhelfen.

    Danke



  • basti33 schrieb:

    Und schon taucht das nächste Problem auf: wenn ich das VC++ Template benutze, erhalte ich diese Fehlermeldung

    1>------ Erstellen gestartet: Projekt: gtkmm Template VC 8, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>dlfldlf.cpp
    1>c:\gtk\include\pangomm-1.4\pangomm\context.h(42) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "cairomm/context.h": No such file or directory
    1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Basti\Desktop\gtkmm Template VC 8\gtkmm Template VC 8\Debug\BuildLog.htm" gespeichert.
    1>gtkmm Template VC 8 - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    Hoffe, jemand kann mir weiterhelfen.

    Danke

    Jow, wie sieht's aus? Existiert die Datei context.h im Verzeichnis cairomm? Bei mir tut sie das nämlich...



  • GPC schrieb:

    Jow, wie sieht's aus? Existiert die Datei context.h im Verzeichnis cairomm? Bei mir tut sie das nämlich...

    Bei mir auch und das sollte doch eigentlich auch standardmäßig der Fall sein. Hier mal die Ausgabe der CMD

    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    
    C:\GTK\include\pangomm-1.4\pangomm>dir
     Volume in Laufwerk C: hat keine Bezeichnung.
     Volumeseriennummer: 6833-D0EE
    
     Verzeichnis von C:\GTK\include\pangomm-1.4\pangomm
    
    16.03.2007  17:41    <DIR>          .
    16.03.2007  17:41    <DIR>          ..
    05.03.2007  17:46            19.219 attributes.h
    05.03.2007  17:46             4.322 attriter.h
    05.03.2007  17:46             6.791 attrlist.h
    05.03.2007  17:46             4.608 cairofontmap.h
    05.03.2007  17:46             4.202 color.h[u]
    05.03.2007  17:46            13.265 context.h[/u]
    05.03.2007  17:46             4.655 coverage.h
    05.03.2007  17:46             6.752 font.h
    05.03.2007  17:46            17.277 fontdescription.h
    05.03.2007  17:46             4.511 fontface.h
    05.03.2007  17:46             5.721 fontfamily.h
    05.03.2007  17:46             4.795 fontmap.h
    05.03.2007  17:46             5.901 fontmetrics.h
    05.03.2007  17:46             4.405 fontset.h
    05.03.2007  17:46             6.044 glyph.h
    05.03.2007  17:46             8.700 glyphstring.h
    05.03.2007  17:46             1.137 init.h
    05.03.2007  17:46             7.787 item.h
    05.03.2007  17:46             6.285 language.h
    05.03.2007  17:46            26.571 layout.h
    05.03.2007  17:46             8.317 layoutiter.h
    05.03.2007  17:46             9.473 layoutline.h
    05.03.2007  17:46             2.252 layoutrun.h
    16.03.2007  17:41    <DIR>          private
    05.03.2007  17:46             5.477 rectangle.h
    05.03.2007  17:46             9.835 renderer.h
    05.03.2007  17:46             5.020 tabarray.h
    05.03.2007  17:46             1.018 types.h
    05.03.2007  17:46             1.015 wrap_init.h
                  28 Datei(en)        205.355 Bytes
                   3 Verzeichnis(se), 66.983.862.272 Bytes frei
    
    C:\GTK\include\pangomm-1.4\pangomm>
    

    Wie man sieht ist die Datei da. Langsam weiß ich echt nicht mehr weiter. Es muss doch irgendwie machbar sein, dieses verfluchte GTKmm unter Windows benutzen zu können 😡 .

    Danke



  • Hi,

    ich würde dir ja gerne helfen, kann aber momentan nicht (siehe hier ). Sorry, aber auf die schnelle kann ich ich dein Problem so nicht lösen.
    Was mir auffällt: Du hast den Verzeichnisinhalt von pangomm gelistet, aber wir bräuchten eigentlich den von cairomm.

    MfG

    GPC



  • Upps, sorry.
    Hier der Verzeichnisinhalt von cairomm

    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    
    C:\GTK\include\cairomm-1.0\cairomm>dir
     Volume in Laufwerk C: hat keine Bezeichnung.
     Volumeseriennummer: 6833-D0EE
    
     Verzeichnis von C:\GTK\include\cairomm-1.0\cairomm
    
    16.03.2007  17:40    <DIR>          .
    16.03.2007  17:40    <DIR>          ..
    16.02.2007  11:26             1.476 cairomm.h
    16.02.2007  11:26            36.018 context.h
    16.02.2007  11:26             5.458 enums.h
    16.02.2007  11:26             1.228 exception.h
    16.02.2007  11:26             2.262 fontface.h
    16.02.2007  11:26             2.266 fontoptions.h
    16.02.2007  11:26             2.077 path.h
    16.02.2007  11:26             5.629 pattern.h
    16.02.2007  11:26            11.257 refptr.h
    16.02.2007  11:26             5.760 scaledfont.h
    16.02.2007  11:26            23.865 surface.h
    16.02.2007  11:26             3.230 win32_surface.h
    16.02.2007  11:26             5.659 xlib_surface.h
                  13 Datei(en)        106.185 Bytes
                   2 Verzeichnis(se), 66.982.936.576 Bytes frei
    
    C:\GTK\include\cairomm-1.0\cairomm>
    

    Irgendwie existiert eine Datei Namens "context.h" auch hier 😮 .

    Danke



  • Hm, ja. Daran liegt's also nicht.
    Okay, also Ferndiagnoe funzt hier nicht. Ich muss das an meinem eigenen Rechner testen...sobald hier wieder was geht. Könnte also etwas dauern.
    Kompilieren eigentlich normale GTK+ Programme? Das haste ja schließlich auch installiert 🙂



  • Ich habe mir jetzt MSYS installiert und damit geht's ohne Probleme. Es ist zwar nicht ganz so komfortabel wie mit einer IDE aber besser als nichts.
    Trotzdem nochmal vielen Dank für die Hilfe.



  • Vielleicht könnte es dem ein oder anderen helfen.
    Gtkmm mit DevC++ zum laufen bekommen: http://c-plusplus.net/forum/viewtopic-var-p-is-1265493.html#1265493



  • kann mir jemand verraten wie das unter code::blocks funktioniert?!
    weiß nicht wie man das dort einbindet. bitte helft mir
    komm ohne euch keinen schritt weiter - 😞

    habe gtk++ und gtkmm in c:\programme\gtk installiert
    aber wie mache ich code::blocks jetzt klar wo die gtkmm.h ist?
    bzw wenn ich den include einstelle will er immer wieder andere dateien.
    zum verrückt werden!!!!!!!



  • Phenex schrieb:

    kann mir jemand verraten wie das unter code::blocks funktioniert?!
    weiß nicht wie man das dort einbindet. bitte helft mir
    komm ohne euch keinen schritt weiter - 😞

    habe gtk++ und gtkmm in c:\programme\gtk installiert
    aber wie mache ich code::blocks jetzt klar wo die gtkmm.h ist?
    bzw wenn ich den include einstelle will er immer wieder andere dateien.
    zum verrückt werden!!!!!!!

    http://c-plusplus.net/forum/viewtopic-var-p-is-1102189.html#1102189



  • Na Toll, merke gerade das die Datei nicht mehr aufm Server ist, habe auch meine Platte durchsucht und nichts zu finden ...
    Michael hat sie aber vllt noch, wenn er mal online ist frag ich ihn und lade es neu hoch 😉



  • so... nach 4,5 stunden habe ich das teil jetzt endlich installiert bekommen, jetzt stehe ich aber vor dem nächsten problem und finde schon wieder seit 1,5h keine lösung *grml*

    und zwar bekomm ich beim kompilieren immer den fehler, dass die .exe nicht erstellt werden könnte...im kompilier log steht folgendes:

    Compiler: Default compiler
    Building Makefile: "C:\test\Makefile.win"
    Führt make... aus
    make.exe -f "C:\test\Makefile.win" all
    g++.exe ../test/main.o ../test/mywindow.o -o "Projekt2.exe" -L"C:/Dev-Cpp/lib" -mwindows -user32 -Wl,-luuid -LC:/GTK/lib -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpangomm-1.4 -lcairomm-1.0 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -limm32 -lshell32 -lole32 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -Wl,--enable-runtime-pseudo-reloc

    ../test/mywindow.o(.text+0x1df2):mywindow.cpp: multiple definition of `main'
    ../test/main.o(.text+0x100):main.cpp: first defined here
    collect2: ld returned 1 exit status

    make.exe: *** [Projekt2.exe] Error 1

    Ausführung beendet

    ich hoff es kann mir jemand helfen, bin relativ ratlos und auf dem gebiet dazu auch noch verdammt neu....



  • Kall-Hoinz schrieb:

    ../test/mywindow.o(.text+0x1df2):mywindow.cpp: multiple definition of `main'
    ../test/main.o(.text+0x100):main.cpp: first defined here
    

    Irgendwas stimmt mit deinen Definitionen nicht, du hast mehrere main-Funktionen. Die sollte einmalig sein.



  • hui...heir wird einem aber schnell geholfen...merci... dadran lags Oo ... hab einfach alles neu aufgesetzt...also code mäßig ... jetzt gings 😕


Anmelden zum Antworten