Kompilacja error

0
5>.\PythonPlayerModule.cpp(587) : error C2665: 'PyTuple_GetInteger' : none of the 4 overloads could convert all the argument types
5>        c:\xx\scriptlib\PythonUtils.h(6): could be 'bool PyTuple_GetInteger(PyObject *,int,unsigned char *)'
5>        c:\xx\scriptlib\PythonUtils.h(7): or       'bool PyTuple_GetInteger(PyObject *,int,int *)'
5>        c:\xx\scriptlib\PythonUtils.h(8): or       'bool PyTuple_GetInteger(PyObject *,__int64,unsigned __int64 *)'
5>        c:\xx\scriptlib\PythonUtils.h(9): or       'bool PyTuple_GetInteger(PyObject *,int,WORD *)'
5>        while trying to match the argument list '(PyObject *, int, __int64 *)'
5>.\PythonPlayerModule.cpp(607) : error C2665: 'PyTuple_GetInteger' : none of the 4 overloads could convert all the argument types
5>        c:\xx\scriptlib\PythonUtils.h(6): could be 'bool PyTuple_GetInteger(PyObject *,int,unsigned char *)'
5>        c:\xx\scriptlib\PythonUtils.h(7): or       'bool PyTuple_GetInteger(PyObject *,int,int *)'
5>        c:\xx\scriptlib\PythonUtils.h(8): or       'bool PyTuple_GetInteger(PyObject *,__int64,unsigned __int64 *)'
5>        c:\xx\scriptlib\PythonUtils.h(9): or       'bool PyTuple_GetInteger(PyObject *,int,WORD *)'
5>        while trying to match the argument list '(PyObject *, int, __int64 *)'
5>.\PythonPlayerModule.cpp(611) : error C2665: 'PyTuple_GetInteger' : none of the 4 overloads could convert all the argument types
5>        c:\xx\scriptlib\PythonUtils.h(6): could be 'bool PyTuple_GetInteger(PyObject *,int,unsigned char *)'
5>        c:\xx\scriptlib\PythonUtils.h(7): or       'bool PyTuple_GetInteger(PyObject *,int,int *)'
5>        c:\xx\scriptlib\PythonUtils.h(8): or       'bool PyTuple_GetInteger(PyObject *,__int64,unsigned __int64 *)'
5>        c:\xx\scriptlib\PythonUtils.h(9): or       'bool PyTuple_GetInteger(PyObject *,int,WORD *)'
5>        while trying to match the argument list '(PyObject *, int, __int64 *)'

mam problem z kompilacją używając long long

0

kod pythonutils.cpp
http://wklej.org/id/1631959/
pythonutils.h
http://wklej.org/id/1631961/
pythonplayermodule.cpp
http://wklej.org/id/1631962/

proszę próbowałem dodać linijką taka samą tylko zmieniłem na long long to pod koniec kompilacji mam error
16>PythonPlayerModule.obj : error LNK2001: unresolved external symbol "bool __cdecl PyTuple_GetInteger(struct _object *,int,__int64 *)" (?PyTuple_GetInteger@@YA_NPAU_object@@HPA_J@Z)

0

Próbuj unsigned long long.

0
twonek napisał(a):

Próbuj unsigned long long.

ten sam error

0

Podaj komunikat błędu przy takim kodzie:

unsigned long long iType;
if (!PyTuple_GetInteger(poArgs, 0LL, &iType))
0
twonek napisał(a):

Podaj komunikat błędu przy takim kodzie:

unsigned long long iType;
if (!PyTuple_GetInteger(poArgs, 0LL, &iType))

taki sam ;]

0
  1. Widać od razu że po prostu ten kod long long nie wspiera. Nie ma wersji tej funkcji dla int 64 i już.
  2. Ładnie to tak omijać bana? Było pyskować do moderatora?
0
Shalom napisał(a):
  1. Widać od razu że po prostu ten kod long long nie wspiera. Nie ma wersji tej funkcji dla int 64 i już.
  2. Ładnie to tak omijać bana? Było pyskować do moderatora?

czym niby pyskowałem? bo zapomniałem parę razy wziąć cytuj?

0

co do błędu jest identyczny ale teraz dodałem do pythonultis.h i pythonultis.cpp
unsignedlonglong ale nie działa

1>.\PythonUtils.cpp(165) : error C3861: 'PyLongLong_AsUnsignedLongLong': identifier not found

    5>cryptlib-5.6.1MT.lib(integer.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
5>PythonPlayerModule.obj : error LNK2001: unresolved external symbol "bool __cdecl PyTuple_GetUnsignedLongLong(struct _object *,int,unsigned __int64 *)" (?PyTuple_GetUnsignedLongLong@@YA_NPAU_object@@HPA_K@Z)
0

Nie może być identyczny, bo chociażby ta linia powinna być inna:

5>        while trying to match the argument list '(PyObject *, int, __int64 *)'

Moim celem było dopasowanie tego do:

5>        c:\xx\scriptlib\PythonUtils.h(8): or       'bool PyTuple_GetInteger(PyObject *,__int64,unsigned __int64 *)'

ale poprzez swoje ukrywanie logu bardzo utrudniasz.

0
twonek napisał(a):

Nie może być identyczny, bo chociażby ta linia powinna być inna:

5>        while trying to match the argument list '(PyObject *, int, __int64 *)'

Moim celem było dopasowanie tego do:

5>        c:\xx\scriptlib\PythonUtils.h(8): or       'bool PyTuple_GetInteger(PyObject *,__int64,unsigned __int64 *)'

ale poprzez swoje ukrywanie logu bardzo utrudniasz.

@twonek pomożesz dodać unsigned long long do pythonutils.cpp i pythonultis.h? próbuje ciągle ale nie wiem jak ten błąd obejść

1 użytkowników online, w tym zalogowanych: 0, gości: 1