2016-06-01 13 views
0

Ich habe eine C++ - Bibliothek, die ich an Python binden möchte. Ich begann PYBINDGEN zu verwenden, und es ist wirklich einfach zu verwenden, aber das manuelle Hinzufügen von Funktionen und Namespaces dauert lange in Anbetracht der Größe meiner C++ - Bibliothek. Ich habe die Dokumentation zu PyBindGen durchgelesen, genauer gesagt den Abschnitt gccxml, der angeblich Header-Dateien für mich scannt. Dies wäre ideal, aber ich kann es nicht richtig funktionieren. So wie ein Test, eingegeben ich meine Haupt-Header-Datei und versuchte, es zu exportieren, aber ich bekomme diese Fehlermeldung:Kann pybindgen nicht mit gccxml arbeiten

python bindinggenerator.py 
Traceback (most recent call last): 
    File "bindinggenerator.py", line 16, in <module> 
    main() 
    File "bindinggenerator.py", line 9, in main 
    module = module_parser.parse("include\\PhospheneEngine.h") 
    File "C:\Users\paolo\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pybindgen\gccxmlparser.py", line 598, in parse 
    pygen_classifier, gccxml_options) 
    File "C:\Users\paolo\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pybindgen\gccxmlparser.py", line 658, in parse_init 
    assert isinstance(header_files, list) 
AssertionError 

Und natürlich mein Python-Code ist im Grunde nur das modifizierte Beispiel von here.

Ich habe sowohl gccxml installiert und Pygccxml (für Python 3.5) installiert. Die Dokumentation sagt wirklich nicht viel über diesen Prozess aus, daher wäre ein kurzer Überblick über die Verwendung dieses Features wünschenswert.

Vielen Dank im Voraus.

Antwort

0

Die Analysefunktion übernimmt eine Liste von Headern.

module = module_parser.parse(["include\\PhospheneEngine.h"]) 
Verwandte Themen