469,934 Members | 2,092 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,934 developers. It's quick & easy.

Can you help with my issue with fstream in my little program here?

I would like to say thanks in advance for insight anyone can shed on
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
Dec 28 '06 #1
2 4548
"jjcp" <ch*****@charowl.netwrote in message
news:nX****************@newsfe03.lga...
>I would like to say thanks in advance for insight anyone can shed on 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()'
<snip other errors along same line>

I think it might be as simple as needing
#include <ostream>
#include <istream>

at the top of your program. Include files are allowed to include other
include files, or not as they see fit. Try this and see if it works.
Dec 28 '06 #2

Jim Langston wrote:
"jjcp" <ch*****@charowl.netwrote in message
news:nX****************@newsfe03.lga...
I would like to say thanks in advance for insight anyone can shed on 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()'

<snip other errors along same line>

I think it might be as simple as needing
#include <ostream>
#include <istream>

at the top of your program. Include files are allowed to include other
include files, or not as they see fit. Try this and see if it works.
Why are you using gcc and not g++?

Tolga Ceylan

Dec 28 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Ron Stephens | last post: by
6 posts views Thread by Rafael | last post: by
38 posts views Thread by npc | last post: by
16 posts views Thread by mdh | last post: by
6 posts views Thread by isabelle | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.