GNOME Bugzilla – Bug 154829
Wont build - no cout in namespace std
Last modified: 2004-12-22 21:47:04 UTC
./configure {works fine} make ..... generate_defs_gtk.cc:22:60: glibmm_generate_extra_defs/generate_extra_defs.h: No such file or directory generate_defs_gtk.cc: In function `int main(int, char**)': generate_defs_gtk.cc:32: error: `cout' undeclared in namespace `std' generate_defs_gtk.cc:32: error: `get_defs' undeclared (first use this function) generate_defs_gtk.cc:32: error: (Each undeclared identifier is reported only once for each function it appears in.) generate_defs_gtk.cc:50: error: `cout' undeclared in namespace `std' ..... on: g++ (GCC) 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
This is the problem: generate_defs_gtk.cc:22:60: glibmm_generate_extra_defs/generate_extra_defs.h: No such file or directory and it's very strange, because the file should be there. Is this from a tarball or cvs?
It's from a tarball
Sorry for the extra post: cwin@cwin gtkmm-2.4.5 $ find -name "*generate*" ./tools/extra_defs_gen/.deps/generate_defs_gtk.Po ./tools/extra_defs_gen/generate_defs_gtk.cc and i've tried 2.4.4 and have the same problem
What distro and what compiler version is this?
Please respond.
Compiler: g++ (GCC) 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6) Distro: Gentoo Linux with kernel 2.6.8
I thought so. Your compiler seems to be broken, and this is common on gentoo systems. Try a simple C++ test case with std::cout, to verify this for yourself.
My compiler works perfectly. generate_defs_gtk.cc:22:60: glibmm_generate_extra_defs/generate_extra_defs.h: No such file or directory I've checked and that file indeed doesn't exist. If i put #include <iostream> in generate_defs_gtk.cc, I wont get that same error, but it still will not compile, because of whatever is missing when it can't include generate_extra_defs.h
It's installed by glibmm: http://cvs.gnome.org/viewcvs/glibmm/tools/extra_defs_gen/Makefile.am?view=markup I strongly encourage you to use a distro that is not intended to make your life difficult, unless you enjoy this.