On Tue, 31 Aug 2004, Paul wrote:
> from /home/steve/opengc55-fgfs094/opengc/Source/Base/main.cpp:45:
> /usr/include/c++/3.3.3/cstring:79: error: `memcpy' not declared
> /usr/include/c++/3.3.3/cstring:80: error: `memmove' not declared
#include <cstdlib>
> /usr/include/c++/3.3.3/cstring:81: error: `strcpy' not declared
> /usr/include/c++/3.3.3/cstring:82: error: `strncpy' not declared
> /usr/include/c++/3.3.3/cstring:83: error: `strcat' not declared
> /usr/include/c++/3.3.3/cstring:84: error: `strncat' not declared
#include <cstring>
Should fix that lot.
> from
/home/steve/opengc55-fgfs094/opengc/Source/Base/main.cpp:45:
> /usr/include/c++/3.3.3/cmath: At global scope:
using namespace std; will help
I must be a bit thick today. I don't understand why:
- it compiled cleanly under g++ 3.3.1 on FC1, but not 3.3.3 on FC2
- cstring depends on cstdlib being included first and doesn't include it
itself
- how including cstring will resolve problems with cstring.
- how setting the namespace after the includes will have any effect on
errors that arise from including header files.
- how this code failed when your test code worked. I just rearranged
main.cpp so the first lines read:
#include <cstdlib>
#include <cstring>
#include <iostream>
... rest of the program as before
and the same errors result. I guess that it is time to dig into the g++
options this code is using.
Steve Friedman