質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

9915閲覧

boost.pythonでundefined symbolエラーが発生する

ajya

総合スコア8

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/09/11 06:01

編集2017/09/11 10:10

###前提・実現したいこと
Ubuntu 16.04.3
Python 2.7.12
gcc 5.4.0
の環境に、boost.pythonを利用するために、
$ sudo apt-get install libboost-all-dev
でインストールしました。

###発生している問題・エラーメッセージ
https://www.quark.kj.yamagata-u.ac.jp/~hiroki/python/?id=19
上記のサイトの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 "<stdin>", line 1, in <module>
ImportError: ./simple.so: undefined symbol: _ZTIN5boost6python7objects21py_function_impl_baseE
とエラーが表示されます。

参照した情報が古いのかもしれませんが、どの点を修正すればundefined symbolのエラーが発生しなくなるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

https://stackoverflow.com/questions/1780003/import-error-on-boost-python-hello-program
上記のページの回答3に、-lの位置が重要とあったので、順番を以下のように変更したら、エラーは発生しなくなり、サンプルどおりの動作をしました。
g++ -fPIC -Wall -O2 -shared -o simple.so simple.cxx -I/usr/include/python2.7 -lboost_python

投稿2017/09/12 00:15

ajya

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問