[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

Re: [XaraXtreme-dev] Xcode link problem

Ben Fowler wrote:

On 24/04/06, Phil Martin <phil@xxxxxxxx> wrote:
I've hit a problem that I haven't worked out how to resolve yet:

I've got a few remaining unresolved symbols in the Xcode build of XaraLX
which are related to libiconv and zlib:

/usr/bin/ld: Undefined symbols:
I can't find what is using the libiconv symbols. Any suggestions?

They are either in libiconv or libintl. Look in /usr/lib (possibly
/usr/local/lib) and /sw/lib. You should find the requisite .dylib
which you can drag into the 'Frameworks' folder. (At a nuts and bolts
level the Mac runtime treats Frameworks and dynamic libraries as the
same species of artifact).

I can't figure out why the zlib symbols are missing because all the
appropriate source files are in the build. Any suggestions?

Do you mean that the symbols are in Camelot source files which are
being compiled? If so, you might want to check that those files were
compiled by gcc not g++, (or mark the symbols as
extern "C" when __cplusplus is defined, but I have a suspicion that
that is not the best approach).If the symbols are not provided by
Camelot then you will need to link with a library, either a wx
convenience library if it is available, or libz from one the
directories I listed above.

Thanks for the suggestions: I have fixed the libiconv problem by adding a reference to the "External frameworks and libraries" group as suggested.

Zlib is still a problem though: Zlib is compiled inside Camelot and so the symbols really should be found during linking. __cplusplus is defined and zlib.h detects that to wrap it's interface with extern "C" {}.

My next attack on this problem will be to try to find the difference between those symbols and others in zlib that apparently do link up.