BTP300B A2 Team 1 Bugs Report
Huda's Bug Log
========================
- Oct 7 - Received Dennis' copy of the assignment which he implemented the basic idea of the CFrame class. Compiling with a2test.cpp gives significant amount of errors related to namespace issue even though its in both .cpp file and .h files for CFrame class and also getting other errors. However, tried to fix the following:
Error #1:
In file included from iframe.h:11:0, from consoleplus.h:10, from consolelineedit.cpp:9: cfg.h:8:0: warning: "NULL" redefined [enabled by default] /usr/lib/gcc/i586-suse-linux/4.6/include/stddef.h:399:0: note: this is the location of the previous definition
FIX:
#ifndef NULL #define NULL (void*)0 // - the NULL address if it has not been defined ((void*)0) #endif
Error #2:
In file included from CFrame.cpp:3:0: consoleplus.h:23:42: error: âCDirectionâ has not been declared In file included from consolebackup.cpp:11:0: consoleplus.h:23:42: error: âCDirectionâ has not been declared In file included from consolelineedit.cpp:9:0: consoleplus.h:23:42: error: âCDirectionâ has not been declared
FIX:
Added using namespace cio{ } in both consolelineedit.cpp file, consoleplus.h file
Error #3:
/tmp/ccuqzVeu.o: In function `testFrame()': a2test.cpp:(.text+0x115): undefined reference to `cio::CFrame::draw(int)' a2test.cpp:(.text+0x128): undefined reference to `cio::CFrame::draw(int)' a2test.cpp:(.text+0x1d6): undefined reference to `cio::CFrame::draw(int)' a2test.cpp:(.text+0x221): undefined reference to `cio::CFrame::~CFrame()' a2test.cpp:(.text+0x22c): undefined reference to `cio::CFrame::~CFrame()' a2test.cpp:(.text+0x237): undefined reference to `cio::CFrame::~CFrame()' a2test.cpp:(.text+0x24d): undefined reference to `cio::CFrame::~CFrame()' a2test.cpp:(.text+0x25c): undefined reference to `cio::CFrame::~CFrame()' /tmp/ccuqzVeu.o:a2test.cpp:(.text+0x26b): more undefined references to `cio::CFrame::~CFrame()' follow collect2: ld returned 1 exit status
Before the Fix:
void draw(int fn = C_FULL_FRAME) {}
and we had a "normal" destructor :
~CFrame();
Fix for Error #3:
1. Changed draw from normal function to a virtual function
void CFrame::draw(int fn ) {}
2. added empty destructor definition
- Sent the clean version of assignment back to the team (but compiles with errors on VS).
- Oct 19 - Received another revised version of assignment from Dennis.
- Oct 26 - we were literally stuck and were encountering an error which Shianne fixed, but was still failing with errors on Linux. I looked into the error which was
g++ CFrame.cpp a2test.cpp console.cpp consolebackup.cpp consolelineedit.cpp -lncurses
a2test.cpp: In function âint main()â:
a2test.cpp:78:73: warning: deprecated conversion from string constant to âchar*â [-Wwrite-strings]
/tmp/ccTRS5S7.o: In function `testFrame()':
a2test.cpp:(.text+0x3f1): undefined reference to `cio::move(cio::iFrame&)'
collect2: ld returned 1 exit status
Because of the following code
void move(cio::CFrame& x);
The fix was easy (but hard to find at first). This was the fix:
void move(cio::iFrame& x);
Dennis's Bug Log
========================
Oct 7, created the basic skeleton of the CFrame class though I'm not sure if I did it properly. Basically just created the CFrame.cpp with the get/set methods (row, row(int), etc...) coded, the more complex methods implemented but not working and the attributes of the frame class defined. Getting major compile errors on VS and G++ but seemed to be compiling in Borland. Split the work between myself, Shianne and Huda (Huda emailed the team letting us know that she wishes to work on display and hide method).
Oct 10, Goofed up and realized that I had not added the private methods to CFrame. Added those in (implemented but functionality not coded).
Oct 15, program compiles in Borland but not in VS. Got started on private member functions of CFrame. Finished working on the setLine method and started work on void capture();
Oct 18, I've worked a bit on it and I've gotten a couple of the private methods running (capture and setline) which from the looks of it should enable us to begin coding the hide and draw methods that will hide and draw the frame. Huda has stated that she wants to do hide and I think I can do the draw method. We still need to get the private methods absrow and abscol which returns the position of the frame relative to the console which we will need in order to implement the move method as well as a whole bunch of the smaller methods like overloaded display and edit methods which will let the user edit the contents of a frame.
Oct 19, Worked on it today and got the draw function up and running as well as fixed setLine since it seems I did it incorrectly and finally got it compiling and running properly in VS. For some reason though, absrow and abscol is causing a crash in VS but otherwise works fine in Borland (haven't had a chance to test it out in g++). added some code to A2test for testing the stuff I've coded.
Shianne's Bug Log
========================