我正在尝试使用libfann版本2.0.1而不是最新版本2.2.0,但无法弄清楚如何执行此操作。有关如何做到这一点的任何想法?
通常完美无缺:
gcc fann_calculator.c -o run_fann_calculator -lfann -lm
其中fann_calculator.c包含一个调用神经网络的程序。
由于
答案 0 :(得分:6)
这取决于两个图书馆所在的位置。如果它们安装在同一目录中(例如,都安装在/usr/lib/
中),您可能会获得最年轻的目录。
我建议您仔细阅读ld.so(8)和ldd(1)手册页。您当然可以跟踪加载的库(例如LD_DEBUG
envirnonment变量)。在安装库之后,不要忘记重新运行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
一起检查您是否获得了libfann
库的预期版本。
不要忘记阅读Program Library Howto。您可能希望将适当的标记传递给ld,例如-rpath
。您可能需要使用gcc
传递它们,可能需要使用Gcc Link Options,例如-Wl