B20.1/EGCS1.1.1: undefineds with -frepo

Graham Dumpleton Graham.Dumpleton@ra.pad.otc.com.au
Wed Feb 17 22:10:00 GMT 1999


Am getting many undefined symbols when using -frepo option on EGCS 1.1.1 to
handle templates. The package I am trying to build is OSE.
I have also been having trouble using -frepo with Cygnus GNUPro C++ 98r2 on
Solaris as well. When I got a small test program together to show the
problem in Cygnus GNUPro, I found it also showed a problem in EGCS 1.1.1
although the set of undefined symbols was actually quite different which
was quite amusing. The good thing was I could send the same test program to
this mailing list and Cygnus which saved me a bit of work, although I think
this may only be the start of the problems I find. :-(
The test program is:
 template<class T>
 class ONE
 {
 public:
 virtual ~ONE();
 };
 template<class T>
 ONE<T>::~ONE() { }
 template<class T>
 class TWO
 {
 public:
 TWO();
 };
 template<class T>
 TWO<T>::TWO()
 {
 new ONE<T>;
 }
 main(int argc, char* argv[])
 {
 TWO<int> obj;
 return 0;
 }
When put in a file called bug.cc and with the commands:
 g++ -frepo -c bug.cc
 g++ bug.o
it generates:
 bug.o(.text+0x10):bug.cc: undefined reference to `TWO<int>::TWO(void)'
 collect2: ld returned 1 exit status
Adding -frepo to the final link line makes no difference.
On Cygnus GNUPro C++ 98r1 this test program works fine, although it has
problems on Cygnus GNUPro C++ 98r2.
I have actually gone back now and managed to build OSE fine using -frepo
with Cygnus GNUPro C++ 98r1, so it isn't the way I am doing things.
-- 
Graham Dumpleton (grahamd@nms.otc.com.au)
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /