Ich wickle eine C++ - Klasse mit Python und ich kann keine C++ 11-Funktionen mit dem Cython-Modul kompilieren.Cython erkennt keine C++ 11-Befehle
Alles kompiliert in Ordnung, wenn das C++ allein kompiliert wird. Aber wenn ich dieses setup.py unten laufen:
setup(
ext_modules = cythonize(
"marketdata.pyx", # our Cython source
sources=["cpp/OBwrapper.cpp, cpp/OrderBook/orderbook.h, cpp/OrderBook/orderbook.cpp"], # additional source file(s)
language="c++", # generate C++ code
extra_compile_args=["-std=c++11"]
))
In meinen .pyx Datei-Header:
# distutils: language = c++
# distutils: sources = cpp/OBwrapper.cpp cpp/OrderBook/orderbook.cpp
ich eine Tonne von Fehlern, die mit ihnen zu tun haben, nicht C++ 11 Befehle zu erkennen , wie 'Auto'.
Zum Beispiel:
cpp/OrderBook/orderbook.cpp(168) : error C2065: 'nullptr' : undeclared identifier
Wie kann ich dies funktioniert?
ich, das ist eine Microsoft-ish Fehlermeldung denke, und '-std = C++ 11' eine GNU-ish Kompilierung Option . –
@FredLarson: Ich glaube nicht, ich bekomme diesen Fehler unter Linux. 'cythonize' ignoriert einfach' extra_compile_args'. Siehe auch [diese Antwort] (http://stackoverflow.com/a/33521863/1804173). – bluenote10
@ bluenote10: [Fehler C2065'] (https://msdn.microsoft.com/en-us/library/ewcf0002.aspx) ist eine Visual Studio-Fehlermeldung. Ich wäre überrascht, es unter Linux zu sehen. –