0

我正在尝试使用 libfann 2.0.1 版而不是最新的 2.2.0 版,但不知道该怎么做。关于如何做到这一点的任何想法?

通常可以完美运行:

gcc fann_calculator.c -o run_fann_calculator -lfann -lm

其中 fann_calculator.c 包含一个调用神经网络的程序。

谢谢

4

1 回答 1

6

这取决于两个库所在的位置。如果它们安装在同一目录中(例如都安装在 中/usr/lib/),您可能会得到最年轻的。

我建议仔细阅读ld.so(8)ldd(1)手册页。您当然可以跟踪加载了哪些库(例如使用LD_DEBUG环境变量)。不要忘记在库安装后适当地重新运行ldconfig 。

你也可以玩一些LD_LIBRARY_PATH把戏;例如,将其设置为并在您想要的精确库$HOME/lib:/usr/lib中安装适当的符号链接。$HOME/lib/例如,您可能会这样做

  ln -s /usr/lib/libfann.so.2.0.1 $HOME/lib/libfann.so.2
  export LD_LIBRARY_PATH=$HOME/lib:/usr/lib:/lib

然后检查ldd run_fann_calculator您是否获得了预期的 [version of the]libfann库。

不要忘记阅读程序库 Howto。您可能希望将适当的标志传递给ld,例如-rpath. 您可能需要使用 传递它们gcc,也许使用Gcc 链接选项,例如 -Wl

于 2012-10-26T17:58:16.100 回答