PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anjuta & gtkmm?!



devnull
21-09-2005, 21:14
Hallo Leute...

ich wollte nun mal mit der GUI-Programmierung unter Linux anfangen und habe hier ein (kleines) Problem mit Anjuta und gtkmm.
Leider bekomme ich ein gtkmm Projekt nicht kompiliert unter Anjuta.
Ein normales GTK Projekt geht wunderbar... doch ich würde gerne in C++ meine Erfahrungen sammeln...

Wenn ich "build" unter Anjuta sage kommen folgende Fehlermeldungen:



Building source directory of the Projekt: TestLab
make
Makefile:9: *** missing separator. Stop.
Completed successfull
Total time taken: 0 secs


Es wird aber kein executeable File erzeugt.

Wenn ich ein "build all" ausprobiere kommen folgende Meldungen:


Building the whole Project: TestLab
make
make: *** No targets specified and no makefile found. Stop.
Completed successful
Total time taken: 0 secs


Wiegesagt... mit C-Code und GTK klappt alles wunderbar... nur als GTKmm Projekt klappts nicht unter Anjuta...

Als Linux Distri habe ich hier ein frisches Gentoo und glademm und co alles installiert...

Thnx und hoffe auf irgendwelche Tipps... sonst muss ich wieder in Java weitercoden :)

anda_skoa
21-09-2005, 21:16
Im Makefile passt offensichtlich etwas nicht.

Wie hast du es denn erzeugt? Händisch oder generiert?

Ciao,
_

devnull
21-09-2005, 21:19
wurde alles von anjuta generiert... ich war halt so "verwöhnt" von meinen beispiel-projekten mit gtk ... dort klappts perfekt...

muss ich bei anjuta für gtkmm noch irgendwas anpassen, damit auch hier die automatische generierung klappt?

RapidMax
21-09-2005, 22:22
Wird auch eine Autotools-Build-Chain von Anjuta generiert? Wenn ja, versuche doch mal händisch ./autogen.sh (oder bootstrap, wie auch immer) auszuführen und achte dabei penibel auf die Fehler bevor ./configure am Schluss von autogen.sh ausgeführt wird (ich unterbinde das desshalb und mache es in zwei Schritten).

Gruss, Andy

devnull
23-09-2005, 09:20
ich habe mal die meldungen von autogen mit denen von meinen gtk-testprojekten verglichen und an sich kaum unterschiede festgestellt... am ende wird halt nur kein Makefile erstellt... warum auch immer?!

... von euch benutzt keiner anjuta für gtkmm projekte?

RapidMax
23-09-2005, 21:41
Und wie bitte ist die Meldung am Schluss von Configure?
Es müsste sowas wie "config.status: creating Makefile" kommen und keine Fehlermeldung. Ist in configure.in am Schluss

AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT
vorhanden? (oder bei älternen configure-Scripten nur AC_OUTPUT([Makefile ...]) )

Gruss, Andy

devnull
24-09-2005, 12:44
ersmal schon riesen dank für eure hilfe...
hier mal mein output von autogen.sh ... und schon ma sorry für die lange ausgabe:



./autogen.sh
**Warning**: I am going to run `configure' with no arguments.
If you wish to pass any to it, please specify them on the
`./autogen.sh' command line.

processing .
Running libtoolize...
Running aclocal -I macros ...
macros/linger.m4:4: warning: underquoted definition of AC_STRUCT_LINGER
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
macros/gnome-cxx-check.m4:2: warning: underquoted definition of GNOME_CHECK_CXX
macros/check-utmp.m4:11: warning: underquoted definition of AC_CHECK_UTMP
/usr/share/aclocal/wxwin.m4:36: warning: underquoted definition of AM_OPTIONS_WX
CONFIG
/usr/share/aclocal/wxwin.m4:59: warning: underquoted definition of AM_PATH_WXCON
FIG
/usr/share/aclocal/smpeg.m4:13: warning: underquoted definition of AM_PATH_SMPEG
/usr/share/aclocal/linc.m4:1: warning: underquoted definition of AM_PATH_LINC
/usr/share/aclocal/libmikmod.m4:11: warning: underquoted definition of AM_PATH_L
IBMIKMOD
/usr/share/aclocal/libfame.m4:6: warning: underquoted definition of AM_PATH_LIBF
AME
/usr/share/aclocal/libast.m4:11: warning: underquoted definition of AST_CHECK_LI
BAST
/usr/share/aclocal/libast.m4:72: warning: underquoted definition of AST_SIZE_TYP
E
/usr/share/aclocal/libast.m4:89: warning: underquoted definition of AST_REGEXP_S
UPPORT
/usr/share/aclocal/libast.m4:153: warning: underquoted definition of AST_X11_SUP
PORT
/usr/share/aclocal/libast.m4:183: warning: underquoted definition of AST_IMLIB2_
SUPPORT
/usr/share/aclocal/libast.m4:219: warning: underquoted definition of AST_MMX_SUP
PORT
/usr/share/aclocal/libast.m4:243: warning: underquoted definition of AST_STD_CHE
CKS
/usr/share/aclocal/libast.m4:279: warning: underquoted definition of AST_PROG_CH
ECKS
/usr/share/aclocal/libast.m4:291: warning: underquoted definition of AST_VAR_CHE
CKS
/usr/share/aclocal/libast.m4:311: warning: underquoted definition of AST_HEADER_
CHECKS
/usr/share/aclocal/libast.m4:318: warning: underquoted definition of AST_FUNC_CH
ECKS
/usr/share/aclocal/libast.m4:328: warning: underquoted definition of AST_TYPE_CH
ECKS
/usr/share/aclocal/libast.m4:339: warning: underquoted definition of AST_ARG_DEB
UG
/usr/share/aclocal/libast.m4:360: warning: underquoted definition of AST_ARG_REG
EXP
/usr/share/aclocal/libast.m4:368: warning: underquoted definition of AST_ARG_BAC
KQUOTE_EXEC
/usr/share/aclocal/libast.m4:391: warning: underquoted definition of AST_FLAGS
/usr/share/aclocal/libast.m4:403: warning: underquoted definition of AST_STATUS
/usr/share/aclocal/libast.m4:429: warning: underquoted definition of dps_snprint
f_oflow
/usr/share/aclocal/libast.m4:466: warning: underquoted definition of dps_vsnprin
tf_oflow
/usr/share/aclocal/libast.m4:512: warning: underquoted definition of dps_symlink
_open_bug
/usr/share/aclocal/libast.m4:586: warning: underquoted definition of dps_rlimit_
nproc
/usr/share/aclocal/libast.m4:634: warning: underquoted definition of dps_rlimit_
memlock
/usr/share/aclocal/libart.m4:11: warning: underquoted definition of AM_PATH_LIBA
RT
/usr/share/aclocal/libIDL.m4:6: warning: underquoted definition of AM_PATH_LIBID
L
/usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB
/usr/share/aclocal/imlib.m4:167: warning: underquoted definition of AM_PATH_GDK_
IMLIB
/usr/share/aclocal/gtk.m4:7: warning: underquoted definition of AM_PATH_GTK
/usr/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB
/usr/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_A
UDIOFILE
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO
/usr/share/aclocal/ORBit.m4:4: warning: underquoted definition of AM_PATH_ORBIT
Running autoheader...
autoheader-2.59: WARNING: Using auxiliary files such as `acconfig.h', `config.h.
bot'
autoheader-2.59: WARNING: and `config.h.top', to define templates for `config.h.
in'
autoheader-2.59: WARNING: is deprecated and discouraged.
autoheader-2.59:
autoheader-2.59: WARNING: Using the third argument of `AC_DEFINE' and
autoheader-2.59: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template witho
ut
autoheader-2.59: WARNING: `acconfig.h':
autoheader-2.59:
autoheader-2.59: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader-2.59: [Define if a function `main' is needed.])
autoheader-2.59:
autoheader-2.59: WARNING: More sophisticated templates can also be produced, see
the
autoheader-2.59: WARNING: documentation.
Running automake --gnu ...
Running autoconf ...
Running ./configure --enable-maintainer-mode --enable-compile-warnings ...
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for a sed that does not truncate output... /bin/sed
checking for ld used by gcc... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for correct ltmain.sh version... yes
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared
libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for g77 option to produce PIC... -fPIC
checking if g77 PIC flag -fPIC works... yes
checking if g77 supports -c -o file.o... yes
checking whether the g77 linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GNOMEMM_CFLAGS...
checking for GNOMEMM_LIBS...
Now type `make' to compile the package
Press any key to continue...

make liefert dann nur:


make: *** No targets specified and no makefile found. Stop.


Habe ebenfalls nochmal das generierte Makefile.am und Makefile.in
angehängt...

Bin weiterhin für Tipps sehr dankbar... läuft leider noch immer nicht...

BeS
25-09-2005, 01:03
hallo,
schau mal auf die gtkmm mailingliste, da gibt es einiges zu anjuta und gtkmm: link (http://mail.gnome.org/mailman/search?query=anjuta&subquery=%2Buri%3A%2F%5Ehttp%3A%2F%2Fmail.gnome.or g%2Farchives%2Fgtkmm-list%2F&reference=off&submit=Search%21)

Ich kann mich erinnern, dass anjuta bei meinen Versuchen, ist schon ein paar Wochen her, Probleme mit gtkmm-2.4 hatte. Ich mußte damals die autotool-Dateien von Hand anpassen, gleiches galt auch wieder bei der Verwendung von libglademm. Habe es damals mit der Hilfe des mailinglist-archives hinbekommen, deswegen denke ich, dass es auch dir weiterhelfen wird.
Genaueres kann ich leider nichtmehr sagen, da es zu lange her ist. Ich habe anjuta dann auch wieder aufgegeben, wollte es mir eh nur mal ansehen, und bin wieder zurück zu emacs und auch gtkmm gehört nicht zu meinem bevorzugten toolkit.

PS: Wieso habe ich denn dieses "verärgert"-smily links oben bei meinem Beitrag. Beitragssymbol ist normal auf "kein Symbol" gestellt... Forum-Bug?

RapidMax
25-09-2005, 13:09
usr/share/aclocal/wxwin.m4:36: warning: underquoted definition of AM_OPTIONS_WXCONFIG
Das scheint mir eine zu alte Autotools-Keychain zu sein. Was für Versionen hast du? (autoconf --version; automake --version)

Viel interessanter als die Makefile.am ist die configure.in (bzw. .ac)

Gruss, Andy

devnull
25-09-2005, 20:12
autoconf (GNU Autoconf) 2.59
automake (GNU automake) 1.9.6

configure.in hab ich ebenfalls noch angehängt...

RapidMax
26-09-2005, 10:48
Die configure.in sieht etwas komisch aus, da währe noch Verbesserungspotential vorhanden.

Ich denke der eigentliche Fehler liegt bei

PKG_CHECK_MODULES(GNOMEMM, libgnomeuimm-2.0,,exit)
Dieses Makro prüft ob libgnomeuimm vorhanden ist und setzt entsprechend die GNOMEMM_LIBS und GNOMEMMCFLAGS mit Hilfe von pkg-config. Auf jedenfall wird dieser Befehl ziemlich am Schluss ausgeführt und wenn er fehl schlägt, wird exit ausgeführt, welches still und heimlich das configure-Script beendet.

Ich wette, wenn du die Zeile oben auf

PKG_CHECK_MODULES([GNOMEMM], [libgnomeuimm-2.0])
änderst, hast du das Problem nicht mehr, dafür meckert das configure-Script über die fehlende Library. Wenn du die Gnome-Zusätze nicht willst, kannst du das vermutlich auf

PKG_CHECK_MODULES([GNOMEMM], [libgtkmm-2.0])
ändern. Wenn doch, dann wird dir das libgnomeuimm-2.0-dev developper Paket fehlen...

Gruss, Andy