What are the default search directories to link a library on Mac OS X

Yantao Xie picture Yantao Xie · Sep 2, 2011 · Viewed 9.5k times · Source

I've build the Google Test with CMake on Mac OS X and get two shared libraries: libgtest.dylib and libgtest_main.dylib. And now I need install both them. I know there are some default search directories on Linux, such as /usr/lib, /usr/local/lib, etc.. But I am unfamiliar with Mac OS X and don't know where to place those libraries.

In Mac OS X Directory Structure, I find there are three directories of libraries: ~/Library, /Library and /usr/lib. And I've tried to place gtest libraries into these directories respectively and found out only /usr/lib works.

What I want to know is wether there are some rules about the default search directories on Mac OS X just like on Linux and Windows.

Answer

linuxbuild picture linuxbuild · Sep 7, 2011

Take a look at the default values for environment variables used by the dyld linker:

DYLD_FALLBACK_LIBRARY_PATH
   ...
By default, it is set to $(HOME)/lib:/usr/local/lib:/lib:/usr/lib

This article about "Deploying an Application on Mac OS X" and other article about "Mac OS X installers" may also help.