Fejl når jeg compiler lille program. (undefined reference to)
Jeg er ved at lære c++, og dertil har jeg en lille bog på kun 800 sider som jeg sidder og læser i. Jeg har skrevet dette lille program, som er i bogen:#include <iostream>
using namespace std;
int main()
{
int numberOfLanguages;
cout << "Hello Reader.\n"
<< "Welcome to C++.\n";
cout << "How many programming languages have you used? ";
cin >> numberOfLanguages;
if (numberOfLanguages < 1)
cout << "Read the preface. You may perfer\n"
<< "a more elementary book by the same author.\n";
else
cout << "Onjoy the book.\n";
return 0;
}
Men når jeg compiler det, får jeg de her fejl:
$ gcc -x c++ hello.c
/tmp/ccakzRJl.o: In function `main':
/tmp/ccakzRJl.o(.text+0x17): undefined reference to `cout'
/tmp/ccakzRJl.o(.text+0x1c): undefined reference to `ostream::operator<<(char const *)'
/tmp/ccakzRJl.o(.text+0x27): undefined reference to `ostream::operator<<(char const *)'
/tmp/ccakzRJl.o(.text+0x37): undefined reference to `cout'
/tmp/ccakzRJl.o(.text+0x3c): undefined reference to `ostream::operator<<(char const *)'
/tmp/ccakzRJl.o(.text+0x4b): undefined reference to `cin'
/tmp/ccakzRJl.o(.text+0x50): undefined reference to `istream::operator>>(int &)'
/tmp/ccakzRJl.o(.text+0x6e): undefined reference to `cout'
/tmp/ccakzRJl.o(.text+0x73): undefined reference to `ostream::operator<<(char const *)'
/tmp/ccakzRJl.o(.text+0x7e): undefined reference to `ostream::operator<<(char const *)'
/tmp/ccakzRJl.o(.text+0x90): undefined reference to `cout'
/tmp/ccakzRJl.o(.text+0x95): undefined reference to `ostream::operator<<(char const *)'
collect2: ld returned 1 exit status
Jeg aner ikke hvad jeg skal gøre. Jeg er kendt i linux, men kender intet til c++ eller nogen compiles.