This is the mail archive of the
mailing list for the Cygwin project.
RE: Link errors related to vtable
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: <cygwin at cygwin dot com>
- Date: Wed, 10 Jan 2007 15:05:12 -0000
- Subject: RE: Link errors related to vtable
On 10 January 2007 13:04, Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> According to George on 1/9/2007 11:02 PM:
>> I am getting link errors like below when I compile my
>> code(systemc) which is on cygwin 1.5.23 with gcc
>> (systemc is a c++ class library)
> No wonder. C++ code MUST be compiled with g++, not gcc (unless you REALLY
> know what you are doing).
I guess George does, since...
On 10 January 2007 06:03, George wrote:
> g++ -O3 -Wall -I. -I.. -I../../../include -L. -L..
> -L../../../lib-linux -o run.x packet.o
> packet_generator.o hub.o main.o -lsystemc -lm 2>&1 |
> undefined reference to `VTT for packet_fifo'
George, this will be hard for me to diagnose without an STC. The first
thing you should do is read "6.4 Vague Linkage" in the gcc manual which
explains how and when gcc decides to emit the vtable for a class; then try
running nm over the object files and seeing if it's there in the expected one
or not. Maybe there's a link-ordering problem or something.
If you can produce an STC based only on snippets of main and packet_fifo I'd
be able to figure it out in more detail.
Can't think of a witty .sigline today....
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html