Ich versuche, eine Funktion in Python mit Boost.Python
zu wickeln, und ich habe Probleme, wenn ich __stdcall
verwenden. Hier ein Beispiel:Kann nicht mit __stdcall in Boost.Python kompilieren
#define BOOST_PYTHON_STATIC_LIB
#define BOOST_PYTHON_ENABLE_STDCALL
#include <boost/python.hpp>
#include <boost/python/signature.hpp>
void __stdcall f(void)
{
return;
}
using namespace boost::python;
BOOST_PYTHON_MODULE(MyPyDLL)
{
def("func", f);
}
Wenn ich versuche zu kompilieren ich mehr als 100 Ähnliche Fehler, aber die ersten 2:
Fehler C2780: ‚boost :: mpl :: vector10 :: Typ &, T0, T1, T2, T3, T4, T5, T6, T7> boost :: python :: detail :: get_signature (RT (__thiscall ClassT :: * ) (T0, T1, T2, T3, T4 , T5, T6, T7) const, Ziel *) ': erwartet 2 Argumente - 1 bereitgestellt C: \ boost \ boost_1_62_0_python \ boost \ python \ make_function.hpp 104
Fehler C2780: ‚boost :: :: mpl vector10 :: type &, T0, T1, T2, T3, T4, T5, T6, T7> boost :: :: :: Detail Python get_signature (RT (__thiscall ClassT :: * ) (T0, T1, T2, T3, T4, T5, T6, T7) flüchtige const, Ziel *) ': erwartet 2 Argumente - 1 bereitgestellt C: \ boost \ boost_1_62_0_python \ boost \ python \ make_function.hpp 104
Wie Sie sehen können, habe ich die Definition verwendet BOOST_PYTHON_ENABLE_STDCALL
, die in this page:
aber das Problem bleibt die s erwähnt wird mit oder ohne Definition.
Weiß jemand was mache ich falsch?