質問: ### 前提・実現したいこと Ubuntu 16.04.3 Python 2.7.12 gcc 5.4.0 の環境に、boost.pythonを利用するために、 $ sudo apt-get install libboost-all-dev でインストールしました。 ### 発生している問題・エラーメッセージ 上記のサイトのsimple.cxxのみのサンプルを参考に、 $ g++ -fPIC -Wall -O2 -I/usr/include/python2.7 -lboost_python -shared -o simple.so simple.cxx でコンパイルし、pythonから呼び出しのテストをすると、 import simple Traceback (most recent call last):File "", line 1, in ImportError: ./simple.so: undefined symbol: _ZTIN5boost6python7objects21py_function_impl_baseE とエラーが表示されます。 参照した情報が古いのかもしれませんが、どの点を修正すればundefined symbolのエラーが発生しなくなるのでしょうか。
回答: 上記のページの回答3に、-lの位置が重要とあったので、順番を以下のように変更したら、エラーは発生しなくなり、サンプルどおりの動作をしました。 g++ -fPIC -Wall -O2 -shared -o simple.so simple.cxx -I/usr/include/python2.7 -lboost_python