Common Coding Bugs

From enfascination

Jump to: navigation, search

Note: these diagnoses will tend towards being too narrow, and may have solutions that are more general

C++

/usr/libexec/gcc/PATH/4.0.1/ld: Undefined symbols:
Something
collect2: ld returned 1 exit status
make: *** [program] Error 1
  • if it is for a whole class, it could mean that in an abstract class, I didn't set a function declaration to 0
  • if it is for a specific static field, it could mean that I forgot "ClassName::" on initializing it
  • if a function is declared from another file but that file isn't included
  • or forgot to comile the cpp file in make
/usr/libexec/gcc/path/ld: multiple definitions of symbol
  • If there are too many copies of a file name in the makefile.
  • Or some other Makefile problem
020walker.cpp:311: error: a function-definition is not allowed here before '{' token
020walker.cpp:332: error: expected `}' at end of input
  • Missing closing curly bracket on an if-statement
error: expected unqualified-id before 'using'
  • forgot closing bracket on class definition
error: expected unqualified-id at end of input  
  • forgot semi colon at the end of class definition
error: expected constructor, destructor, or type conversion before '&' token
  • forgot to include header file on .cpp file
error: invalid use of member (did you forget the '&' ?)
  • forgot parens on a function
error: 'string' does not name a type
  • forgot "using namespace std;"
unknown:FATAL:can't create output file
  • maybe permissions are off or a directory doesn't exist or something like that.

Lots more: [[1]]