<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi All,</div><div class=""><br class=""></div><div class="">So, as expected, I’m having issues with my generated library. To test my configuration I’ve made a very simple example that wraps a QLabel. This is built as a Library (.dylib) using QtCreator and I am able to link and use it from C++ (so hopefully that means the library is built correctly?!). However, when I build the python wrapper and attempt to import it I get missing symbols:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Consolas" class="">Traceback (most recent call last):</font></div><div class=""><font face="Consolas" class="">  File "test_pymylabel.py", line 4, in <module></font></div><div class=""><font face="Consolas" class="">    from PyMyLabel import *</font></div><div class=""><font face="Consolas" class="">ImportError: dlopen(/Users/rob/Documents/Qt5/PyMyLabel/PyMyLabel.so, 2): Symbol not found: __ZN10QArrayData11shared_nullE</font></div><div class=""><font face="Consolas" class="">  Referenced from: /Users/rob/Documents/Qt5/PyMyLabel/PyMyLabel.so</font></div><div class=""><font face="Consolas" class="">  Expected in: flat namespace</font></div><div class=""><font face="Consolas" class=""> in /Users/rob/Documents/Qt5/PyMyLabel/PyMyLabel.so</font></div></div><div class=""><br class=""></div><div class="">I’m guessing I’ve failed in my configuration somewhere? If I import PyQt5 before attempting to import my module it till fails but on a different symbol:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Consolas" class="">Traceback (most recent call last):</font></div><div class=""><font face="Consolas" class="">  File "test_pymylabel.py", line 4, in <module></font></div><div class=""><font face="Consolas" class="">    from PyMyLabel import *</font></div><div class=""><font face="Consolas" class="">ImportError: dlopen(/Users/rob/Documents/Qt5/PyMyLabel/PyMyLabel.so, 2): Symbol not found: __ZN7MyLabel16staticMetaObjectE</font></div><div class=""><font face="Consolas" class="">  Referenced from: /Users/rob/Documents/Qt5/PyMyLabel/PyMyLabel.so</font></div><div class=""><font face="Consolas" class="">  Expected in: flat namespace</font></div><div class=""><font face="Consolas" class=""> in /Users/rob/Documents/Qt5/PyMyLabel/PyMyLabel.so</font></div></div><div class=""><br class=""></div><div class="">I don’t know if anyone finds this suggestive of a common fault or can give me some pointers as to where to look for the issue. I’m more than willing to post any part of the example that might be useful for diagnosis (I just didn’t want to spam the list with code listings!).</div><div class=""><br class=""></div><div class="">Any help will be gratefully appreciated!</div><div class=""><br class=""></div><div class="">Thanks, Rob</div><br class=""><div><blockquote type="cite" class=""><div class="">On 20 Aug 2015, at 15:59, Robert Kent <<a href="mailto:rob@gulon.co.uk" class="">rob@gulon.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Hi David,<br class=""><br class="">Good suggestion as that’s what I was in the process of doing and its worked…sort of! I’ve now got something that cleanly compiles to an ‘.so’, but when I import it I get missing symbol errors. I imagine however that this is to do with the overly simplistic sip definition I was using to develop the build process.<br class=""><br class="">Thanks very much for the help and patience, you may well hear from me again when I can’t get my function/method signatures in my sip definition right! :)<br class=""><br class="">Cheers, Rob<br class=""><br class=""><blockquote type="cite" class="">On 20 Aug 2015, at 15:45, David Boddie <<a href="mailto:david@boddie.org.uk" class="">david@boddie.org.uk</a>> wrote:<br class=""><br class="">On Thu Aug 20 14:53:46 BST 2015, Robert Kent wrote:<br class=""><br class=""><blockquote type="cite" class="">I have actually managed to run the sip command successfully and auto-generated<br class="">the necessary code, my issue is actually with creating a working configure.py<br class="">and hence a Makefile. The examples refer to “pyqtconfig” which used to provide<br class="">a range of Makefile classes which seemed to fill in all the details regarding<br class="">include and library directories and compiler/linker options in general for the<br class="">Qt framework and sip. Any help on what the necessary options are or how to<br class="">obtain them would be hugely appreciated.<br class=""></blockquote><br class="">It might be worthwhile looking at the configuration script for the Python<br class="">bindings to QScintilla:<br class=""><br class=""> <a href="https://riverbankcomputing.com/software/qscintilla/intro" class="">https://riverbankcomputing.com/software/qscintilla/intro</a><br class=""><br class="">Look in the Python/configure.py file for some code that figures out the PyQt and<br class="">Qt configurations. It looks like it was written to be used as a template for<br class="">other projects, too.<br class=""><br class="">David<br class="">_______________________________________________<br class="">PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com" class="">PyQt@riverbankcomputing.com</a><br class=""><a href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" class="">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br class=""></blockquote><br class="">_______________________________________________<br class="">PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com" class="">PyQt@riverbankcomputing.com</a><br class=""><a href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" class="">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a></div></blockquote></div><br class=""></body></html>