2014-10-02 79 views
-1

我創建一個用c庫,但是當我打電話在Python庫中我給出了以下錯誤:蟒蛇 - ctypes的錯誤與MySQLÇ

Traceback (most recent call last): 
    File "probrar_lib.py", line 6, in <module> 
    lib = cdll.LoadLibrary('/home/msorjas/Documentos/pruebas_c/lib1.so') 
    File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary 
    return self._dlltype(name) 
    File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__ 
    self._handle = _dlopen(self._name, mode) 
OSError: /home/msorjas/Documentos/pruebas_c/lib1.so: undefined symbol: mysql_query 

C庫,用下面的代碼編譯:

gcc -c -fPIC lib1.c 
gcc -shared lib1.o -o lib1.so 

它應該編譯?

我使用linux。

解決:

gcc -c -fPIC lib1.c 
gcc -shared lib1.o -o lib1.so $(mysql_config --libs) $(mysql_config --cflags) 
+0

你應該張貼的'SOLVED'位作爲一個答案,並接受它。 – matsjoyce 2014-10-02 17:08:43

回答

0
gcc -c -fPIC lib1.c 
gcc -shared lib1.o -o lib1.so $(mysql_config --libs) $(mysql_config --cflags) 
0

你忘記告訴它來構建對MySQL的。

gcc -shared -lmysqlclient lib1.o -o lib1.so 
+0

謝謝,但無法正常工作。 – user3720124 2014-10-02 03:32:27