Hi, Just as a follow up to this...I ve discovered that its an issue with building shared libraries on mac os and it works fine on a Linux box :S.
Thanks Nathan On 25/03/2008, Nathan Harmston <[EMAIL PROTECTED]> wrote: > > > > On 25/03/2008, Gabriel Genellina <[EMAIL PROTECTED]> wrote: > > > > En Mon, 24 Mar 2008 19:56:08 -0300, Nathan Harmston > > <[EMAIL PROTECTED]> escribió: > > > > > > > import ctypes > > > t = ctypes.CDLL('./Simulation.so') > > > this works fine, I have a simple function I ve put in for testing > > which > > > just > > > returns the integer 4. However when I try to access this function it > > > doesnt > > > work > > > t.test() > > > File "<stdin>", line 1, in <module> > > > File > > > > > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ctypes/__init__.py", > > > line 325, in __getattr__ > > > func = self.__getitem__(name) > > > File > > > > > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ctypes/__init__.py", > > > line 330, in __getitem__ > > > func = self._FuncPtr((name_or_ordinal, self)) > > > AttributeError: dlsym(0x81e6b0, test): symbol not found > > > > > > Looks like the symbol isn't public - probably if you try loading the > > library with a C program it won't find it either. How is the function > > declared in the source? > > Try listing all public symbols with: nm -D Simulation.so > > Thanks for the quick reply: > Running nm lists test as > 00001760 T _test > > in the source its declared as: > > int test(){ > return 4; > } > > Sorry, this is the first time I'm making my own shared library and using > ctypes, so being a little slow. > > Thanks again > > Nathan > > > > > > > Im hoping python-list is ok for questions regarding ctypes :S > > > > > > It's not off topic, although there is a specific list for ctypes-related > > questions. But hijacking a thread to post a completely different > > question > > is not good netiquette. > > > > -- > > Gabriel Genellina > > > > > > -- > > http://mail.python.org/mailman/listinfo/python-list > > > >
-- http://mail.python.org/mailman/listinfo/python-list