Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Newcomers » Newcomers » multiple definition of method of inherited interface
multiple definition of method of inherited interface [message #270579] Tue, 28 April 2009 07:18 Go to next message
mandy is currently offline mandy
Messages: 7
Registered: July 2009
Junior Member
Hi to all,

I experience the following problem with Eclipse CDT 3.3.2 and C/C++ plugin
4.0.3

I have to do the porting of a project (developped under windows with
VisualC++) to eclipse cdt under linux (suse 10)

After lots and lots of attempts I managed to import the sources give the
right paths of source files and link the libraries.I'm using the automatic
make file of the eclipse cdt.

So building went on fine. While linking stops with a strange error to the
heritage of an interface with the following error message.

**** Build of configuration Release for project ReportToolExe ****

make all
Building target: ReportToolExe
Invoking: GCC C++ Linker
g++ -L/opt/tools/1.26.2/lib/suse9.1-gcc3_p4
-L/opt/tools/QT/xerces-c_2_8_0-x86-linux-gcc_3_4/lib
-L/opt/tools/QT/qt-x11-eval-src-4.4.3/lib -L/opt/tools/fltk-1.1.0/lib
-o"ReportToolExe" ./ReportingMessages/ReportingMessages.o
/ReportingGUI/BufferTriggerEditor.o ./ReportingGUI/ClientItem.o
/ReportingGUI/ClientList.o ./ReportingGUI/ClientPropertiesEditor.o
/ReportingGUI/ClientPropertyFilters.o ./ReportingGUI/ClientsTab.o
/ReportingGUI/ConfigChooser.o ./ReportingGUI/ConfigDisplay.o
/ReportingGUI/ConfigTab.o ./ReportingGUI/FiltersTab.o
/ReportingGUI/GeneralPropertiesEditor.o
/ReportingGUI/GlobalOutputDestinationEditor.o ./ReportingGUI/GroupItem.o
/ReportingGUI/GroupList.o ./ReportingGUI/GroupPropertiesEditor.o
/ReportingGUI/HelpViewer.o ./ReportingGUI/ListManager.o
/ReportingGUI/ReportingGUI.o ./ReportingGUI/Resources.o
/ReportingGUI/ResultDisplay.o ./ReportingGUI/TristateCheckBox.o
/ReportingGUI/UpdateThread.o ./ReportingGUI/main.o
/ReportingGUI/generatedfiles/release/moc_BufferTriggerEditor .o
/ReportingGUI/generatedfiles/release/moc_ClientList.o
/ReportingGUI/generatedfiles/release/moc_ClientPropertiesEdi tor.o
/ReportingGUI/generatedfiles/release/moc_ConfigChooser.o
/ReportingGUI/generatedfiles/release/moc_GeneralPropertiesEd itor.o
/ReportingGUI/generatedfiles/release/moc_GlobalOutputDestina tionEditor.o
/ReportingGUI/generatedfiles/release/moc_GroupList.o
/ReportingGUI/generatedfiles/release/moc_GroupPropertiesEdit or.o
/ReportingGUI/generatedfiles/release/moc_ReportingGUI.o
/ReportingGUI/generatedfiles/release/moc_ResultDisplay.o
/ReportingGUI/generatedfiles/release/moc_TristateCheckBox.o
/Reporting/Test/ReportingTestLibrary.o
/Reporting/Test/ReportingTestThread.o ./Reporting/Protocol/RecvThread.o
/Reporting/Protocol/ReportingByteReader.o
/Reporting/Protocol/ReportingByteWriter.o
/Reporting/Protocol/SendThread.o ./Reporting/OutputDevice/Clipboard.o
/Reporting/OutputDevice/ConsoleOutputDevice.o
/Reporting/OutputDevice/CyclicBuffer.o
/Reporting/OutputDevice/FileOutputDevice.o
/Reporting/OutputDevice/OutputDeviceException.o
/Reporting/OutputDevice/OutputThread.o
/Reporting/OutputDevice/OutputThreadException.o
/Reporting/OutputDevice/WindowControl.o
/Reporting/OutputDevice/WindowOutputDevice.o
/Reporting/Master/CheckActiveThread.o ./Reporting/Master/CommThread.o
/Reporting/Master/Config.o ./Reporting/Master/Messages.o
/Reporting/Master/ReportingServerDefinitions.o
/Reporting/Implementation/CLErrorHandler.o
/Reporting/Implementation/Error.o ./Reporting/Implementation/Reporting.o
/Reporting/Implementation/ReportingC.o
/Reporting/Implementation/ReportingDummyImpl.o
/Reporting/Implementation/ReportingImpl.o
/Reporting/Implementation/ReportingProxyImpl.o
/Definitions/ReportingDefs.o ./Configuration/FileSystem.o
/Configuration/ReportingCfg.o ./Configuration/XMLConfigurationFile.o
/CommonFile/ClientHandler.o ./CommonFile/ClientsFile.o
/CommonFile/CommonFileFacade.o ./CommonFile/ControlFile.o
/CommonFile/ControlHandler.o ./CommonFile/DefaultProperties.o
/CommonFile/UpdatingData.o ./CommonFile/XMLPersistence.o
/CommonDataInterface/CommonDataException.o
/CommonDataInterface/CommonDataTypes.o -lcommon -lxerces-c
-lxerces-depdom -lQtGui -lQtCore -lfltk -lfltk_forms -lfltk_gl
-lfltk_images
/Reporting/Implementation/ReportingImpl.o: In function
`Reporting::deleteInstance()':
ReportingImpl.cpp:(.text+0x160): multiple definition of
`Reporting::deleteInstance()'
/Reporting/Implementation/ReportingDummyImpl.o:ReportingDumm yImpl.cpp:(.text+0xb0):
first defined here
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-lin ux/bin/ld:
Warning: size of symbol `Reporting::deleteInstance()' changed from 104 in
/Reporting/Implementation/ReportingDummyImpl.o to 105 in
/Reporting/Implementation/ReportingImpl.o
/Reporting/Implementation/ReportingImpl.o: In function
`Reporting::instance()':
ReportingImpl.cpp:(.text+0x96a0): multiple definition of
`Reporting::instance()'
/Reporting/Implementation/ReportingDummyImpl.o:ReportingDumm yImpl.cpp:(.text+0x900):
first defined here
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-lin ux/bin/ld:
Warning: size of symbol `Reporting::instance()' changed from 146 in
/Reporting/Implementation/ReportingDummyImpl.o to 147 in
/Reporting/Implementation/ReportingImpl.o
/Reporting/Implementation/ReportingProxyImpl.o: In function
`Reporting::deleteInstance()':
ReportingProxyImpl.cpp:(.text+0x440): multiple definition of
`Reporting::deleteInstance()'
/Reporting/Implementation/ReportingDummyImpl.o:ReportingDumm yImpl.cpp:(.text+0xb0):
first defined here
/Reporting/Implementation/ReportingProxyImpl.o: In function
`Reporting::instance()':
ReportingProxyImpl.cpp:(.text+0xdc0): multiple definition of
`Reporting::instance()'
/Reporting/Implementation/ReportingDummyImpl.o:ReportingDumm yImpl.cpp:(.text+0x900):
first defined here
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-lin ux/bin/ld:
Warning: size of symbol `Reporting::instance()' changed from 147 in
/Reporting/Implementation/ReportingDummyImpl.o to 153 in
/Reporting/Implementation/ReportingProxyImpl.o
/Reporting/OutputDevice/WindowControl.o: In function
`WindowControl::waitUntilReceived(CL::Message*)':
WindowControl.cpp:(.text+0x36): undefined reference to `Fl::awake(void*)'
WindowControl.cpp:(.text+0x56): undefined reference to `Fl::awake(void*)'
/Reporting/OutputDevice/WindowControl.o: In function
`WindowControl::threadCode()':
WindowControl.cpp:(.text+0x1d0): undefined reference to `Fl::lock()'
WindowControl.cpp:(.text+0x24c): undefined reference to `Fl::unlock()'
/Reporting/OutputDevice/WindowControl.o: In function
`WindowControl::destroyWindow(WindowOutputDevice&)':
WindowControl.cpp:(.text+0x6ce): undefined reference to `Fl::awake(void*)'
WindowControl.cpp:(.text+0x6f4): undefined reference to `Fl::awake(void*)'
/Reporting/OutputDevice/WindowControl.o: In function
`WindowControl::createWindow(WindowOutputDevice&)':
WindowControl.cpp:(.text+0x78e): undefined reference to `Fl::awake(void*)'
WindowControl.cpp:(.text+0x7b4): undefined reference to `Fl::awake(void*)'
/Reporting/OutputDevice/WindowControl.o: In function
`WindowControl::~WindowControl()':
WindowControl.cpp:(.text+0x9cd): undefined reference to `Fl::awake(void*)'
/Reporting/OutputDevice/WindowControl.o:WindowControl.cpp:(. text+0x9e7):
more undefined references to `Fl::awake(void*)' follow
/Reporting/OutputDevice/WindowOutputDevice.o: In function
`WindowOutputDevice::write(char*, unsigned int, bool)':
WindowOutputDevice.cpp:(.text+0x1ca1): undefined reference to `Fl::lock()'
WindowOutputDevice.cpp:(.text+0x1d56): undefined reference to
`Fl::unlock()'
WindowOutputDevice.cpp:(.text+0x1d62): undefined reference to
`Fl::awake(void*)'
collect2: ld returned 1 exit status
make: *** [ReportToolExe] Error 1



Does anyone have any hint.
I'm stack and cannot go on.
Any help soul be apreciated

Thanks in Advance
Mandy
Re: multiple definition of method of inherited interface [message #270581 is a reply to message #270579] Tue, 28 April 2009 09:45 Go to previous messageGo to next message
Eclipse User
Originally posted by: pmills.systemcore.ca

mandy wrote:

> /Reporting/Implementation/ReportingDummyImpl.o

Considering its name and the fact that it's involved in the conflicts, what
happens if you remove this implementation from the build?
Re: multiple definition of method of inherited interface [message #270588 is a reply to message #270581] Wed, 29 April 2009 02:36 Go to previous messageGo to next message
mandy is currently offline mandy
Messages: 7
Registered: July 2009
Junior Member
But this wouldn't be resolving the problem.

It's rather... working it around.

I don't even know what this problem is. Whether it is due to the eclipse
cdt, or
on the way I use it, or even worse c/c++ problem.

Any other hints?

Thanks in advance
Mandy
Re: multiple definition of method of inherited interface [message #270595 is a reply to message #270588] Wed, 29 April 2009 09:32 Go to previous message
Eclipse User
Originally posted by: pmills.systemcore.ca

mandy wrote:

> But this wouldn't be resolving the problem.

That depends on what you believe is the problem. :-)

The message you're getting says that you have two implementations of the
same function in various places. To me, that indicates that trying to use
these together _is_ the problem.

i.e.:
`Reporting::deleteInstance()':
ReportingImpl.cpp:(.text+0x160): multiple definition of
`Reporting::deleteInstance()'
/Reporting/Implementation/ReportingDummyImpl.o:ReportingDumm yImpl.cpp
(.text+0xb0):

By linking either ReportingImpl or ReportingDummyImpl, not both, you resolve
that problem.
Previous Topic:How to get rid of some problem entries in "Problem-View"
Next Topic:Idea about communication
Goto Forum:
  


Current Time: Sat Aug 30 14:27:03 EDT 2014

Powered by FUDForum. Page generated in 0.02665 seconds