编译器如何分配使用哪个版本?

时间:2012-09-19 16:28:00

标签: linux symlink dynamic-linking

我正在尝试在linux中运行exe文件,并显示以下错误消息:

“加载共享库时出错:libquickfix.so.14:无法打开共享对象文件:没有这样的文件或目录”

我有这个文件的.so版本。

我的问题是它从哪里获得14?在我的g ++命令中,我有-lquickfix

1 个答案:

答案 0 :(得分:1)

这与您的编译器无关。如果存在可执行文件,则编译器完成。问题在于ldd(运行时链接程序)的配置。可能最简单的解决方案是确保包含libquickfix.so.14的目录列在环境变量LD_LIBRARY_PATH中。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}/path/to/lib