在我的Linux系统上安装opencv 3后,我注意到每个.so文件都有一个相应的.so.3.0文件。额外的扩展名只是为了区分两个不同的文件,还是 .so.3.0 实际上是一种不同类型的共享库?我还没有在其他任何地方看到这个约定使用过,所以我觉得这有点奇怪。
此处提供了详细说明 https://serverfault.com/questions/401762/solaris-what-is-the-difference-between-so-and-so-1-files/402595#402595
本质上,.so 文件是指向 .so.3.0 的符号链接,它是实际的共享库文件。.so 指定应使用哪个版本的库文件。