Ld Can't Link With A Main Executable
On OSX 10.6.4 with i686-apple-darwin10-g++-4.2.1 compiling using TextMate and a Makefile which in the first place has been made für a Linux and I am trying to translate for OSX. W
Solution 1:
The error message is telling you the problem—it is that /usr/local/lib/libxrlTUB.so
is not a shared library; it's an executable. You can't link against an executable. Probably whatever build process you used for libxrlTUB.so
didn't understand how to build shared libraries on the Mac (it's more suspect because .dylib
is the correct extension to use.)
Take a look at Apple's documentation on compiling dynamic libraries. You can use file
to make sure your output is of the correct type, for example:
% gcc -c foo.c
% gcc -dynamiclib foo.o -o foo.dylib
% file foo.dylib
foo.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Without -dynamiclib
you end up with an executable, which may be the problem you've run into.
Post a Comment for "Ld Can't Link With A Main Executable"