Compiling universal binaries in Mac OSX 10.5 (Leopard) against 10.4u SDK problem

The hint below is actually a hack. The correct solution would be to add “-mmacosx-version-min=10.4″ to the compiler and linker command as mentioned in this post or follow the comment below this post.

If you compile a programm/library on Mac OS X 10.5 (Leopard) against the 10.4u SDK as suggested in this technote to create a universal binary you may encounter this error message:

ld: library not found for -lcrt1.10.5.o

In that case you need to create a symbolic link

sudo ln -s /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/crt1.o /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/crt1.10.5.o

This might solve the linking problem than. This hint was found here and here.

2 thoughts on “Compiling universal binaries in Mac OSX 10.5 (Leopard) against 10.4u SDK problem

  1. set an environment variable that gcc/ld can see (in your makefile is recommended) that matches the SDK isysroot you have selected:

    MACOSX_DEPLOYMENT_TARGET=10.4
    export MACOSX_DEPLOYMENT_TARGET

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>