C++ Link Error

Martin Gainty mgainty@hotmail.com
Mon Apr 14 22:51:00 GMT 2003


which namespace are you using???
are you not supposed to have a namespace declaration such as
using std
-Martin

----- Original Message -----
From: "Igor Pechtchanski" <pechtcha@cs.nyu.edu>
To: "Parker, Ron" <rdparker@butlermfg.com>
Cc: <cygwin@cygwin.com>
Sent: Monday, April 14, 2003 1:08 PM
Subject: Re: C++ Link Error


> On Mon, 14 Apr 2003, Parker, Ron wrote:
>
> > I am experiencing a link error with C++ on Cygwin.  I have boiled it
> > down to a simple test case.  As far as I know I have every Cygwin
> > package installed. But I have been upgrading this installation for quite
> > some time.
> >
> > If I take a simple test.cpp file:
> >
> > =================================
> > #include <iostream>
> >
> > using std::cout;
> >
> > main()
> > {
> >         cout << "Test\n";
> >         return 0;
> > }
> > =================================
> >
> > And run g++, g++ (GCC) 3.2 20020927 (prerelease), against it.  I get the
> > following:
> >
> > $ g++ -o test test.cpp -lstdc++
> > /e/DOCUME~1/rdparker/LOCALS~1/Temp/ccWlq6qX.o(.text+0x27):test.cpp:
> > undefined reference to `_STL::cout'
> > /e/DOCUME~1/rdparker/LOCALS~1/Temp/ccWlq6qX.o(.text+0x5d):test.cpp:
> > undefined reference to
`_STL::ios_base::_Loc_init::_Loc_init[in-charge]()'
> > /e/DOCUME~1/rdparker/LOCALS~1/Temp/ccWlq6qX.o(.text+0x78):test.cpp:
> > undefined reference to `_STL::ios_base::Init::Init[in-charge]()'
> > /e/DOCUME~1/rdparker/LOCALS~1/Temp/ccWlq6qX.o(.text+0x93):test.cpp:
> > undefined reference to `_STL::ios_base::Init::~Init [in-charge]()'
> > /e/DOCUME~1/rdparker/LOCALS~1/Temp/ccWlq6qX.o(.text+0xae):test.cpp:
> > undefined reference to `_STL::ios_base::_Loc_init::~_Loc_init
[in-charge]()'
> >
/e/DOCUME~1/rdparker/LOCALS~1/Temp/ccWlq6qX.o(.text$_ZN4_STL8ios_base23_M_ch
> > eck_exception_maskEv+0x1d):test.cpp: undefined reference to
> > `_STL::ios_base::_M_throw_failure()'
> > collect2: ld returned 1 exit status
> >
> > Having '-lstdc++' on the end or not doesn't seem to matter.
>
> Ron,
>
> I can't reproduce it here (Win2k, g++ 3.2 20020927 prerelease).
> What does adding a "-v" flag to your link line show?
> What about "g++ -print-search-dirs" and
"g++ -print-file-name=libstdc++.a"?
> "g++ -print-libgcc-file-name"?
>
> Minor points:
> - -lstdc++ is implied and thus redundant
> - don't name your program "test", as it conflicts with /bin/test
> Igor
> --
> http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_ pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`'    -.  ;-;;,_ igor@watson.ibm.com
>      |,4-  ) )-,_. ,\ (  `'-' Igor Pechtchanski
>     '---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
>
> Knowledge is an unending adventure at the edge of uncertainty.
>   -- Leto II
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>
>

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list