2011-10-19 16 views
2

私はMySQL接続を提供するpythonのswigパッケージを作成しようとしています。しかし、私はPythonで、パッケージをインポートしようとすると、私は次のエラーを取得する:swig mysql:未定義シンボル:mysql_init '

-> _mod = imp.load_module('_IMysqlConnection', fp, pathname, description) 
(Pdb) s 
ImportError: './_IMysqlConnection.so: undefined symbol: mysql_init' 

私は次のコマンドを使用してパッケージを作成しています(私は失態を作っています場所はおそらくこれがある)

$swig -c++ -python -o IMysqlConnection_wrap.cc IMysqlConnection.i 
$ gcc -fPIC -c IMysqlConnection_wrap.cc -o IMysqlConnection_wrap.o -I /usr/include/python2.6/ `mysql_config --cflags` `mysql_config --libs` 
g$ gcc -fPIC -c IMysqlConnection.cc -o IMysqlConnection.o -I . /usr/include/python2.6/ `mysql_config --cflags` `mysql_config --libs` 
$ g++ -shared IMysqlConnection_wrap.o IMysqlConnection.o -o _IMysqlConnection.so 

私はこのクラス(IMysqlConnection.cc)をC++のメインで使用すると、mysql接続を行うことができます。

何か助けと指導をいただければ幸いです。

答えて

0

は解決:_IMysqlConnection.so

グラム++ -shared CMysqlConnection_wrap.o CMysqlConnection.o -o _CMysqlConnection.so mysql_config --cflagsmysql_config --libs

コマンド上の共有ライブラリを作成している間、私はにMySQLライブラリをリンクしmysql_config --cflagsmysql_config --libsがありませんでした共有ライブラリ_IMysqlConnection.soとうまくいきました。私はmysql_configを--cflags` ``欠けていたmysql_configを--libs`共有ライブラリ_IMysqlConnection.so を作成しながら、G ++ -shared CMysqlConnection_wrap.o CMysqlConnection:あなたの助け:-)解決

1

あなたはこれを正確にかかわらず、あなたの接続に応答しない http://sourceforge.net/projects/mysql-python/

を使用することができます。

+0

ため

おかげウーゴに。 o -o _CMysqlConnection.so 'mysql_config --cflags'' mysql_config --libs' 上記のコマンドは、mysqlライブラリを共有ライブラリ_IMysqlConnection.soにリンクさせて正常に動作しました。 あなたの助けを借りてくれてありがとう:-) – Saurabh

関連する問題