问题:
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 的问题。
完。