Looks like string.h needs to be included in fixedstring.h. I made that change and checked it in - please update and try it again. Btw, what version of gcc are you using? With 4.2.1 on a mac I didn't get this error.
Matt On Wed, Aug 25, 2010 at 7:00 PM, tatapudy <[email protected]> wrote: > > > This is not working for me either: > > $pwd && qmake && make > /usr/local/quackle-0.96 > g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG > -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT > -I/usr/share/qt3/mkspecs/default -I. -I. -I../../include/qt3 -o > obj/release/bogowinplayer.o bogowinplayer.cpp > > In file included from alphabetparameters.h:27, > from sim.h:26, > from computerplayer.h:24, > from bogowinplayer.h:24, > from bogowinplayer.cpp:23: > > fixedstring.h: In constructor > `Quackle::FixedLengthString::FixedLengthString(const char*, unsigned int)': > fixedstring.h:109: error: `memcpy' was not declared in this scope > fixedstring.h: In constructor > `Quackle::FixedLengthString::FixedLengthString(const char*)': > fixedstring.h:126: error: `strlen' was not declared in this scope > fixedstring.h:128: error: `memcpy' was not declared in this scope > fixedstring.h: In copy constructor > `Quackle::FixedLengthString::FixedLengthString(const > Quackle::FixedLengthString&)': > fixedstring.h:136: error: `memcpy' was not declared in this scope > fixedstring.h: In member function `Quackle::FixedLengthString& > Quackle::FixedLengthString::operator=(const Quackle::FixedLengthString&)': > fixedstring.h:144: error: `memcpy' was not declared in this scope > fixedstring.h: In member function `void > Quackle::FixedLengthString::erase(char*)': > fixedstring.h:176: error: `memmove' was not declared in this scope > > fixedstring.h: In member function `Quackle::FixedLengthString& > Quackle::FixedLengthString::operator+=(const Quackle::FixedLengthString&)': > fixedstring.h:212: error: `memcpy' was not declared in this scope > In file included from board.h:28, > from game.h:29, > from sim.h:27, > from computerplayer.h:24, > from bogowinplayer.h:24, > from bogowinplayer.cpp:23: > move.h: At global scope: > move.h:100: warning: type qualifiers ignored on function return type > move.h:103: warning: type qualifiers ignored on function return type > move.h:198: warning: type qualifiers ignored on function return type > move.h:208: warning: type qualifiers ignored on function return type > make: *** [obj/release/bogowinplayer.o] Error 1 > > > Nor this: > > $pwd && qmake && cd quackleio/ && qmake && cd ../quacker/ && qmake && cd .. > && make > /usr/local/quackle-0.96 > g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG > -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT > -I/usr/share/qt3/mkspecs/default -I. -I. -I../../include/qt3 -o > obj/release/bogowinplayer.o bogowinplayer.cpp > > In file included from alphabetparameters.h:27, > from sim.h:26, > from computerplayer.h:24, > from bogowinplayer.h:24, > from bogowinplayer.cpp:23: > > fixedstring.h: In constructor > `Quackle::FixedLengthString::FixedLengthString(const char*, unsigned int)': > fixedstring.h:109: error: `memcpy' was not declared in this scope > fixedstring.h: In constructor > `Quackle::FixedLengthString::FixedLengthString(const char*)': > fixedstring.h:126: error: `strlen' was not declared in this scope > fixedstring.h:128: error: `memcpy' was not declared in this scope > fixedstring.h: In copy constructor > `Quackle::FixedLengthString::FixedLengthString(const > Quackle::FixedLengthString&)': > fixedstring.h:136: error: `memcpy' was not declared in this scope > fixedstring.h: In member function `Quackle::FixedLengthString& > Quackle::FixedLengthString::operator=(const Quackle::FixedLengthString&)': > fixedstring.h:144: error: `memcpy' was not declared in this scope > fixedstring.h: In member function `void > Quackle::FixedLengthString::erase(char*)': > fixedstring.h:176: error: `memmove' was not declared in this scope > > fixedstring.h: In member function `Quackle::FixedLengthString& > Quackle::FixedLengthString::operator+=(const Quackle::FixedLengthString&)': > fixedstring.h:212: error: `memcpy' was not declared in this scope > In file included from board.h:28, > from game.h:29, > from sim.h:27, > from computerplayer.h:24, > from bogowinplayer.h:24, > from bogowinplayer.cpp:23: > move.h: At global scope: > move.h:100: warning: type qualifiers ignored on function return type > move.h:103: warning: type qualifiers ignored on function return type > move.h:198: warning: type qualifiers ignored on function return type > move.h:208: warning: type qualifiers ignored on function return type > make: *** [obj/release/bogowinplayer.o] Error 1 > > (I believe gmake is the same as make on Ubuntu 10.04. I have wrx > permissions for everything in /usr/local/). Have I misunderstood your > instructions? > > --- In [email protected], John Fultz <jfu...@...> wrote: > > > >[snip] > > > > >you should run qmake, then > > gmake in the appropriate directories. Those directories being... > > > > quackle/ > > quackle/quackleio/ > > quackle/quacker/ > > > > ...the last of which is what builds the final Quackle binary. > > > > Sincerely, > > > > John Fultz > > jfu...@... > > > > > > > On Wed, 25 Aug 2010 23:16:54 -0000, tatapudy wrote: > > > Running Ubuntu 10.04, I do not seem to be able to build quackle-0.96 > from > > > source. I installed qt-sdk-linux-x86_64-opensource-2010.04.bin in a > > > directory in my PATH and ran the Qt setup program. I apparently have Qt > > > Version 4.6.3 installed. I have scons installed: > > > > > >> $scons --version > > >> SCons by Steven Knight et al.: > > >> script: v1.2.0.d20100117.r4629, 2010/01/17 22:23:21, by scons on > > >> scons-dev > > >> engine: v1.2.0.d20100117.r4629, 2010/01/17 22:23:21, by scons on > > >> scons-dev > > >> Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, > > >> 2010 The SCons Foundation > > >> > > > I unpacked the tarball available here: > > > > > >> http://people.csail.mit.edu/jasonkb/quackle/downloads/quackle- > > >> 0.96/quackle-0.96-source.tar.gz > > >> > > > > > > The README file in the quackle-0.96 directory says: > > > > > >> Quackle 0.96 - a crossword game playing and analysis tool > > >> > > >> See LICENSE in this dire > > >> ctory. > > >> > > >> In this directory is libquackle. Install SCons and run 'scons r=1' to > > >> build it with optimizations or 'scons d=1' to build with debug > symbols. > > >> Then cd to quackle/quackleio/, run qmake, and then run make. > > >> > > >> In quacker/ is a GUI that uses libquackle. It requires Qt 4. Run qmake > > >> then make in that directory to build it. Then, from within > > >> quackle/quacker/, run ./quacker to start the program. > > >> > > >> olaugh...@... > > >> jaso...@... > > >> jfu...@... > > >> matt.libe...@... > > > >> > > >> > > > Now I cd to the quackle-0.96 directory and encounter the following > > > problem: > > > > > >> $scons r=1 > > >> scons: Reading SConscript files ... > > >> scons: done reading SConscript files. > > >> scons: Building targets ... > > >> g++ -o alphabetparameters.o -c -O2 alphabetparameters.cpp > > >> In file included from alphabetparameters.h:27, > > >> from alphabetparameters.cpp:24: > > >> fixe > > >> dstring.h:69: error: 'string' in namespace 'std' does not name a type > > >> fixedstring.h: In constructor > > >> 'Quackle::FixedLengthString::FixedLengthString(const char*, unsigned > > >> int)': > > >> fixedstring.h:109: error: 'memcpy' was not declared in this scope > > >> fixedstring.h: In constructor > > >> 'Quackle::FixedLengthString::FixedLengthString(const char*)': > > >> fixedstring.h:126: error: 'strlen' was not declared in this scope > > >> fixedstring.h:128: error: 'memcpy' was not declared in this scope > > >> fixedstring.h: In copy constructor > > >> 'Quackle::FixedLengthString::FixedLengthString(const > > >> Quackle::FixedLengthString&)': > > >> fixedstring.h:136: error: 'memcpy' was not declared in this scope > > >> fixedstring.h: In member function 'Quackle::FixedLengthString& > > >> Quackle::FixedLengthString::operator=(const > > >> Quackle::FixedLengthString&)': > > >> fixedstring.h:144: error: 'memcpy' was not declared in this scope > > >> fixedstring.h: In member function 'void > > >> Quackle::FixedLengthString::erase(char*)': > > >> fixeds > > >> tring.h:176: error: 'memmove' was not declared in this scope > > >> fixedstring.h: In member function 'Quackle::FixedLengthString& > > >> Quackle::FixedLengthString::operator+=(const > > >> Quackle::FixedLengthString&)': > > >> fixedstring.h:212: error: 'memcpy' was not declared in this scope > > >> scons: *** [alphabetparameters.o] Error 1 > > >> scons: building terminated because of errors. > > >> > > >> > > > What went wrong? Has anyone successfully built quackle-0.96 from > source? > > > If so, what did he do that I didn't do? > > > > > > > > > > > > > >
