I wrote a signal block whose constructor has an argument of type
“uint64_t”. But when in python it is constructed, the error is reported
as TypeErrorL in method ‘myblock’, argument 1 of type ‘uint64_t’.
Then I changed the uint64_t to unsigned long long in my C++ code, but
the
python still report TypeError for ‘unsigned long long’.
I am thinking that SWIG can not recognize the uint64_t and unsigned long
long, so I need to do something like type mapping , but not know how to
do
it.
Is there any example that I can follow?
Just found that my C++ interface is using type of uint64_t while I
passed
the data of time_t in python. And the python/SWIG cannot convert the
time_t
to uint64_t automatically, unlike in C++…
Changed the C++ interface to time_t and make the type conversion within
the
C++ code. The constructor works in python now.
But we do need to pay attention when c++ types is not recognized in
python,
assuming your suggestion is a solution. I will try this later for
possible
case.