This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Link errors on Tru64 V5.1
- From: ÐÐÐÐÐÐ ÐÐÑÐÐÐ <ivans at isle dot spb dot ru>
- To: gcc-help at gcc dot gnu dot org
- Date: Sun, 28 Sep 2008 13:34:36 +0400
- Subject: Link errors on Tru64 V5.1
Hallo! I have built and installed gcc 4.3.2 on Tru64 v5.1 on alpha and
now trying to build qt4 library. At some point the following errors occur
when linking shared library:
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::exceptionNotification(): multiply defined
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::proxyAuthenticationRequired(QNetworkProxy const&, QAuthenticator*): multiply defined
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::writeNotification(): multiply defined
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::readNotification(): multiply defined
.obj/release-shared/qudpsocket.o: non-virtual thunk to QAbstractSocketPrivate::exceptionNotification(): multiply defined
.obj/release-shared/qudpsocket.o: non-virtual thunk to QAbstractSocketPrivate::proxyAuthenticationRequired(QNetworkProxy const&, QAuthenticator*): multiply defined
.obj/release-shared/qudpsocket.o: non-virtual thunk to QAbstractSocketPrivate::writeNotification(): multiply defined
These methods are declared as abstract in base class and then explicitly
defined in derived class directly in class declaration (as inline).
If I leave only declarations in derived class and define the actual
method bodies in .cc file, then errors dissappear.
I suspect the problem is related to tru64 linker. Did anybody here have
similar problem? Maybe some patch should be applied to tru64? Or some
option can be given to g++?
Regrettably just fixing these two files is not enough, it seems to occur
for all virtual methods defined directly in class definitions :-(
Best regards,
--
\ / | Michael Ivanov.
(OvO) |
(^^^) |
\^/ |
^ ^ |