By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,445 Members | 1,329 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,445 IT Pros & Developers. It's quick & easy.

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

P: n/a
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
Share this Question
Share on Google+
2 Replies


P: n/a
"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

P: n/a

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.