gcc 找不到 boot python 链接库的问题: /usr/bin/ld: cannot find -lboost_python

时间:2023-03-10 07:05:38
gcc 找不到 boot python 链接库的问题: /usr/bin/ld: cannot find -lboost_python

问题

Ubuntu 14.04,gcc 4.8.4,以默认方式编译 boost 1.67 后,使用 Boost.Python 时,gcc 提示找不到 boost python 链接库。

方案

查看默认的编译库路径  /usr/local/lib/,发现其下已经有动态链接文件 libboost_python27.so.1.67.0,并且已经有软链接 libboost_python27.so 指向它。

因为默认软链接后缀 27 的问题,导致 gcc 不能找到正确的动态库,再创建一个软链接 libboost_python.so 指向 libboost_python27.so.1.67.0 即可。

Root Cause:

因为 gcc 的版本陈旧 和 boost 的版本最新,而导致的兼容性问题。此问题在 Ubuntu 16.04 没有出现。

同样的道理,创建软链接 libboost_numpy.so 指向 libboost_numpy27.so.1.67.0 可解决 gcc 找不到 boost numpy 的问题。

完。