我正在尝试为python创建一个提供mysql连接的swig包。但是当我尝试在python中导入包时,我收到以下错误:
-> _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
当我在C ++ main中使用这个类(IMysqlConnection.cc)时,我能够进行mysql连接。
我非常感谢任何帮助和指导。
答案 0 :(得分:1)
你可以使用 http://sourceforge.net/projects/mysql-python/
但这并不完全符合您的连接。
答案 1 :(得分:0)
解决:我在创建共享库时遇到mysql_config --cflags
mysql_config --libs
_IMysqlConnection.so
g ++ -shared CMysqlConnection_wrap.o CMysqlConnection.o -o _CMysqlConnection.so mysql_config --cflags
mysql_config --libs
上面的命令将mysql库链接到共享库_IMysqlConnection.so,它工作正常。
感谢Ugo的帮助: - )