मैं पाइथन के साथ एक सी ++ कक्षा लपेट रहा हूं, और मैं साइथन मॉड्यूल के साथ किसी भी सी ++ 11 सुविधाओं को संकलित नहीं कर सकता।साइथन सी ++ 11 कमांड को पहचान नहीं रहा
सबकुछ सी ++ को संकलित करते समय ठीक से संकलित करता है। लेकिन जब मैं नीचे इस setup.py चलाएँ: मेरी .pyx फ़ाइल शीर्षक में
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"]
))
:
# distutils: language = c++
# distutils: sources = cpp/OBwrapper.cpp cpp/OrderBook/orderbook.cpp
मैं C++ 11 आदेशों को पहचानने नहीं उन लोगों के साथ क्या करना है कि त्रुटियों की एक टन मिल , 'ऑटो' की तरह।
cpp/OrderBook/orderbook.cpp(168) : error C2065: 'nullptr' : undeclared identifier
मैं इस काम करने के लिए प्राप्त कर सकते हैं:
उदाहरण के लिए?
मुझे लगता है कि किसी Microsoft-ish त्रुटि संदेश नहीं है सोच रहा हूँ, और '-std = C++ 11' है एक जीएनयू-ish संकलन विकल्प । –
@FredLarson: मुझे ऐसा नहीं लगता, मुझे यह त्रुटि लिनक्स पर मिल रही है। 'cythonize' बस' extra_compile_args' को अनदेखा करता है। यह भी देखें [यह उत्तर] (http://stackoverflow.com/a/33521863/1804173)। – bluenote10
@ bluenote10: ['त्रुटि C2065'] (https://msdn.microsoft.com/en-us/library/ewcf0002.aspx) एक विजुअल स्टूडियो त्रुटि संदेश है। मैं इसे लिनक्स पर देखकर आश्चर्यचकित हूं। –