Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Mon, 14 Apr 2003 16:08:32 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: "Parker, Ron" cc: cygwin AT cygwin DOT com Subject: Re: C++ Link Error In-Reply-To: <71A0F7B0F1F4F94F85F3D64C4BD0CCFE0EDC1A@bmkc1svmail01.am.mfg> Message-ID: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 > > 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 AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT 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/