this for me.
Long story short from time to time I need to us C++ to take a list of
file and make an index out of them in html. for this I use fstream both
for input and output. So, i have a simple file that I just change few
things on and I get the output formatted to what I want.
So I installed FC6 on my home system and get out my handy usb drive
because i needed my magic source file:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
fstream fout("index.html", fstream::out );
fstream fin("list.txt", fstream::in);
int main()
{
string in;
while(getline(fin, in))
{
fout << in << endl;
}
return 0;
}
to compile another html file for me. As you can see pretty cut and dry
and to the point.
My problem is compiling this file since I upgraded(?) to FC6 from FC5. I
am using gcc version 4.1.1 20061011 (Red Hat 4.1.1-30) without any
tweaks or changes from a std install.
When I run:
[charowl@localhost *****]$ gcc stuff.cpp
I get:
/tmp/ccxQXTd5.o: In function `__tcf_2':
stuff.cpp:(.text+0xe): undefined reference to `std::basic_fstream<char,
std::char_traits<char::~basic_fstream()'
/tmp/ccxQXTd5.o: In function `__tcf_1':
stuff.cpp:(.text+0x22): undefined reference to `std::basic_fstream<char,
std::char_traits<char::~basic_fstream()'
/tmp/ccxQXTd5.o: In function
`__static_initialization_and_destruction_0(int, int)':
stuff.cpp:(.text+0x53): undefined reference to `std::ios_base::Init::Init()'
stuff.cpp:(.text+0x8b): undefined reference to `std::basic_fstream<char,
std::char_traits<char::basic_fstream(char const*, std::_Ios_Openmode)'
stuff.cpp:(.text+0xc3): undefined reference to `std::basic_fstream<char,
std::char_traits<char::basic_fstream(char const*, std::_Ios_Openmode)'
/tmp/ccxQXTd5.o: In function `__tcf_0':
stuff.cpp:(.text+0x10c): undefined reference to
`std::ios_base::Init::~Init()'
/tmp/ccxQXTd5.o: In function `main':
stuff.cpp:(.text+0x12b): undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char::basic_string()'
stuff.cpp:(.text+0x140): undefined reference to
`std::basic_ostream<char, std::char_traits<char& std::operator<<
<char, std::char_traits<char>, std::allocator<char>
>(std::basic_ostream<char, std::char_traits<char&,std::basic_string<char, std::char_traits<char>, std::allocator<char
const&)'
stuff.cpp:(.text+0x148): undefined reference to
`std::basic_ostream<char, std::char_traits<char& std::endl<char,
std::char_traits<char(std::basic_ostream<char, std::char_traits<char>
>&)'stuff.cpp:(.text+0x150): undefined reference to
`std::basic_ostream<char, std::char_traits<char>
>::operator<<(std::basic_ostream<char, std::char_traits<char&(*)(std::basic_ostream<char, std::char_traits<char&))'
stuff.cpp:(.text+0x163): undefined reference to
`std::basic_istream<char, std::char_traits<char& std::getline<char,
std::char_traits<char>, std::allocator<char(std::basic_istream<char,
std::char_traits<char&, std::basic_string<char,
std::char_traits<char>, std::allocator<char&)'
stuff.cpp:(.text+0x177): undefined reference to `std::basic_ios<char,
std::char_traits<char::operator void*() const'
stuff.cpp:(.text+0x190): undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char::~basic_string()'
stuff.cpp:(.text+0x1a6): undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char::~basic_string()'
/tmp/ccxQXTd5.o:(.eh_frame+0x12): undefined reference to
`__gxx_personality_v0'
collect2: ld returned 1 exit status
and nothing happens. Is my complier broken, my code?
either way it would be nice to know. I have tried using every example
of how to do this that google could find for me on fstream, and now I
ask you. thanks -josh