您如何链接到GCC中的特定版本的共享库 [英] How do you link to a specific version of a shared library in GCC

查看:547
本文介绍了您如何链接到GCC中的特定版本的共享库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编译一些在Debian Linux系统上使用libcurl的代码。我的开发机器正在运行Debian 5,但是我希望这个二进制文件可以在旧的Debian 4系统上使用。



我发现如果我指定了 -lcurl 它将链接到libcurl.so.4但Debian 4系统只有libcurl.so.3



有没有办法我可以告诉GCC链接到libcurl .so.3(存在于Debian 4和5中)或只是libcurl.so,所以它将使用任何可用的版本?

解决方案

您可以在链接器命令行上传递实际的.so文件而不是-l,它应该做你想要的。


I'm compiling some code which uses libcurl on a Debian Linux system. My dev machine is running Debian 5 but I want the binary to be usable on older Debian 4 systems too.

I find that if I specify -lcurl it will link to libcurl.so.4 but Debian 4 systems only have libcurl.so.3

Is there some way I can tell GCC to link to either libcurl.so.3 (which exists in both Debian 4 and 5) or just libcurl.so so it will use whatever version is available ?

解决方案

You can pass the actual .so file instead of -l on the linker command line, and it ought to do what you want.

这篇关于您如何链接到GCC中的特定版本的共享库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆