[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
POTFILES, snprintf and key_helper compilation errors
From: |
Gervase Lam |
Subject: |
POTFILES, snprintf and key_helper compilation errors |
Date: |
Mon, 9 Sep 2002 02:16:34 +0100 |
> From: David Philippi <address@hidden>
> Subject: Re: Major CVS changes completed?
> Date: Sat, 7 Sep 2002 11:42:46 +0200
> But CVS versions should change quite often (since this indicates a
> lively= =20
> project) so you may very well check out right now. The only thing I know
> = to=20
> be broken is the handling of former trap objects in the editor (ignoring
> = all=20
> bugs dating from before the removal of traps/ ).
Is this why I get the following error:
|| make[2]: Entering directory `/home/gervase/pingus/src/Games/Pingus/po'
|| make[2]: *** No rule to make target `../src/trap.cxx', needed by
`pingus.pot'. Stop.
I'm not too sure how to deal with this. Is it OK just to remove
"../src/trap.cxx" and "../src/trap.hxx" from "POTFILES.in"? (It would've
been nice if there was a comment at the top of "POTFILES" to say that it
is generated from "POTFILES.in".)
Managed to get rid of a few other compilation errors due to snprintf being
used but not being declared (i.e. #include <stdio.h> is required) and
key_helper.cxx being moved up one directory. The cvs diff file containing
the changes are attached.
The key_helper.cxx got me a bit. The make process mentioned that it could
not make "key_helper.cxx" so I removed it from "Makefile.am". I then
recompiled and got:
|| input/libpingus_input.a(button_factory.o): In function
`vector<Input::Button *, allocator<Input::Button *>
>::_M_insert_aux(Input::Button **, Input::Button *const &)':
/usr/include/g++-3/stl_algobase.h|149| undefined reference to
`Input::KeyHelper::string_to_key(basic_string<char,
string_char_traits<char>, __default_alloc_template<true, 0> > const &)'
I thought I'd change the key_str in KeyHelper::string_to_key(key_str) to a
std::string and then a literal in order to narrow down why the error
message was being thrown up. These changes threw up messages like:
|| input/libpingus_input.a(button_factory.o): In function
`vector<Input::Button *, allocator<Input::Button *>
>::_M_insert_aux(Input::Button **, Input::Button *const &)':
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/new|64| undefined
reference to `Input::KeyHelper::string_to_key(basic_string<char,
string_char_traits<char>, __default_alloc_template<true, 0> > const &)'
After about one hour of struggling to find out why this was happening,
which included finding out what KeyHelper::string_to_key() actually
returned, I realised why there was a compilation error here. I had
removed "key_helper.cxx" from "src/input/buttons/Makefile.am" but not
added to "src/input/Makefile.am"!
I must admit, I still don't know what the error messages EXACTLY mean. I
understand the bit about the fact that button_factory.o (i.e
button_factory.cxx) was trying to use KeyHelper::string_to_key() but it
couldn't because it was not compiled. However, what does the "vector...",
"include/new" and "g++-3/stl_algobase.h" bits mean?
Thanks,
Gervase.
pingus_20020908.cvs.diff
Description: Text Data
- POTFILES, snprintf and key_helper compilation errors,
Gervase Lam <=