I have a collection of dynamic libraries that I want to link to in /usr/local/lib, how can I do this using gcc without setting my LD_LIBRARY_PATH (i have heard it is bad to do t开发者_StackOverflowhis fora number of reasons). I have spent an hour looking at this on the internet, and fiddling with command line arguments, the only way I got it to work was using the -static -I/usr/local/lib/ flag, but this converts dynamic libraries to static libraries, and the compiler throws up some warnings.
Thanks for your help
Add /usr/local/lib
to the loader configuration in /etc/ld.so.conf
and run ldconfig
.
You can set the system wide search directories for ldd
(the dynamic linker) in /etc/ld.so.conf
. In many distributions (well, mine) there is a /etc/ld.so.conf.d/
directory, from which the /etc/ld.so.conf
includes all *.conf
files. You can add the directory directly in ld.so.conf
or add a .conf
file in the directory.
Of course, you'll need root access to do this.
Oh, yeah: as Ignacio says, run ldconfig
after changing these config files.
精彩评论