Mail Archives: djgpp/1998/02/06/01:30:44
>Hello, could someone please tell me why djgpp won't compile this code?
>
>#include <iostream.h>
>int main()
>{
> cout << "hello world";
> return 0;
>}
>
> I've been compiling C programs for a while now with no problems, but
>when I went to try c++ I got two errors:
>". . . .ex1.cpp: undefined reference to 'cout'" and
>". . . .undefined reference to 'ostream::operator<<(char const *)'"
>
>I downloaded the c++ libraries again and the c++ executable and made
>sure to end my file with *.cpp. Also, I checked the faq but I couldn't
>find anything about this. As I said before, it worked fine compiling c
>programs. Thanks, Pat
>
This is a common mistake. You see, including a header just tells the main
function that these other functions/classes/whatever exist, basically. They
still must be defined. This is where libraries come in. The problem would be
that you didn't link the library (-liostr, I think). Alternatively, you could
compile with gxx, not gcc, so that the C++ libraries are automatically linked
in.
Hope that solves your problem!
- Raw text -