开发者

Linking to libraries in gcc

开发者 https://www.devze.com 2022-12-20 12:59 出处:网络
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

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消