在Linux上,我有一个依赖于其他库的C共享库。LD_LIBRARY_PATH已正确设置以允许链接器加载所有库。当我执行以下操作时:
libgidcwf = ctypes.cdll.LoadLibrary(libidcwf_path)
我遇到了以下错误:
Traceback (most recent call last):
File "libwfm_test.py", line 12, in <module>
libgidcwf = ctypes.cdll.LoadLibrary(libidcwf_path)
File "/usr/lib/python2.5/ctypes/__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python2.5/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: path-to-my-lib/libwav.so: undefined symbol: ODBCGeneralQuery
看起来 LD_LIBRARY_PATH
在这里没有效果。
有没有一种方法使这些依赖库“可加载”?
提前感谢您的帮助。
SHLIB_PATH
,在Aix中是LIBPATH
,在Mac上是DYLD_lotsofthings
...语义也略有不同。即使是Linux,请明确版本并适当标记您的问题,谢谢! - Alex Martelli