They were actually listed under libinkpre_a_SOURCES. Just removing them from there fixed the issue. Thanks for the help on this!
Steven
-----Original Message----- From: inkscape-devel-admin@lists.sourceforge.net [mailto:inkscape-devel-admin@lists.sourceforge.net] On Behalf Of Bryce Harrington Sent: Saturday, February 05, 2005 1:27 PM To: Montgomery, Steven S Cc: inkscape-devel@lists.sourceforge.net Subject: RE: [Inkscape-devel] Inkboard linking/dependencies
On Sat, 5 Feb 2005, Montgomery, Steven S wrote:
I've went ahead and included the extern lines: however, that's a different issue than what we were having. The undefined reference we have is to functions we wrote in inkboard.cpp. Here they are from the most recent attempt:
dialogs/libspdialogs.a(InkboardMsg.o)(.text+0xa7a): In function `sp_inkBMsg_ObjectAddedChild': dialogs/InkboardMsg.cpp:436: undefined reference to
`sendChange(char*)'
dialogs/libspdialogs.a(InkboardMsg.o)(.text+0xc92): In function `sp_inkBMsg_ObjectRemovedChild': dialogs/InkboardMsg.cpp:519: undefined reference to
`sendChange(char*)'
dialogs/libspdialogs.a(InkboardMsg.o)(.text+0xe4d): In function `sp_inkBMsg_ObjectChanged': dialogs/InkboardMsg.cpp:624: undefined reference to
`sendChange(char*)'
dialogs/libspdialogs.a(inkboard-connect.o)(.text+0xa97): In function `sp_inkboardConnect_dialog_inkboardConnect(_GObject*, _GObject*)': dialogs/inkboard-connect.cpp:228: undefined reference to `connect_and_auth(char*, char*, char*)'
dialogs/libspdialogs.a(inkboard-connect.o)(.text+0xacf):dialogs/inkboard
-connect.cpp:238: undefined reference to `setRecipient(char const*)' dialogs/libspdialogs.a(inkboard-connect.o)(.text+0x138f): In function `sp_inkboardConnect_dialog_inkboardShareUser(_GObject*, _GObject*)': dialogs/inkboard-connect.cpp:393: undefined reference to `send_connect_request_to_user(char const*, char*)'
I suspect you didn't get that error when you checked out of the CVS. Line 8 of inkboard.cpp should be #include "dialogs/InkboardMsg.h" instead of #include "dialogs/InkboardMsg.cpp". I hesitate to upload that change since we've been following the convention of only
committing
changes after we ensure that it at least compiles.
For a reason I don't fully understand, including that .cpp somehow informs the linker of where our new functions are defined.
Well, by including the .cpp you essentially are pasting the contents of that file in, so it's getting the full definition of all the functions. However, having multiple definitions of functions in your binary will cause trouble later, so we should solve the problem more directly...
Try this. Move your two main files to the inkpost.a section, i.e.:
libinkpost_a_SOURCES = \ ... inkboard.cpp inkboard.h \
This forces those objects to be compiled last in the link chain, so if link ordering is the issue, this might fix it.
Bryce
------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel