I experience an issue when compiling pyindi-client with clang.
From indiclientpython.i:
/* TODO(chripell): is there a way to use %implicitconv? */
void sendNewText(INDI::PropertyView<IText> * pp) {
$self->sendNewText(static_cast<ITextVectorProperty *>(pp));
}
void sendNewNumber(INDI::PropertyView<INumber> * pp) {
$self->sendNewNumber(static_cast<INumberVectorProperty *>(pp));
}
void sendNewSwitch(INDI::PropertyView<ISwitch> * pp) {
$self->sendNewSwitch(static_cast<ISwitchVectorProperty *>(pp));
}
I get these compilation errors:
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/jodier/miniconda3/include -fPIC -O2 -isystem /Users/jodier/miniconda3/include -Ilibindi -I./.local/include -I/Users/jodier/miniconda3/include/python3.10 -c indiclientpython_wrap.cpp -o build/temp.macosx-10.9-x86_64-cpython-310/indiclientpython_wrap.o -std=c++11 -Wno-deprecated-declarations
indiclientpython_wrap.cpp:6091:13: error: no matching member function for call to 'sendNewText'
self->sendNewText(static_cast<ITextVectorProperty *>(pp));
~~~~~~^~~~~~~~~~~
libindi/abstractbaseclient.h:178:14: note: candidate function not viable: no known conversion from 'ITextVectorProperty *' (aka '_ITextVectorProperty *') to 'INDI::Property' for 1st argument
void sendNewText(INDI::Property pp);
^
libindi/abstractbaseclient.h:180:14: note: candidate function not viable: requires 4 arguments, but 1 was provided
void sendNewText(const char *deviceName, const char *propertyName, const char *elementName, const char *text);
^
indiclientpython_wrap.cpp:6094:13: error: no matching member function for call to 'sendNewNumber'
self->sendNewNumber(static_cast<INumberVectorProperty *>(pp));
~~~~~~^~~~~~~~~~~~~
libindi/abstractbaseclient.h:182:14: note: candidate function not viable: no known conversion from 'INumberVectorProperty *' (aka '_INumberVectorProperty *') to 'INDI::Property' for 1st argument
void sendNewNumber(INDI::Property pp);
^
libindi/abstractbaseclient.h:184:14: note: candidate function not viable: requires 4 arguments, but 1 was provided
void sendNewNumber(const char *deviceName, const char *propertyName, const char *elementName, double value);
^
indiclientpython_wrap.cpp:6097:13: error: no matching member function for call to 'sendNewSwitch'
self->sendNewSwitch(static_cast<ISwitchVectorProperty *>(pp));
~~~~~~^~~~~~~~~~~~~
libindi/abstractbaseclient.h:186:14: note: candidate function not viable: no known conversion from 'ISwitchVectorProperty *' (aka '_ISwitchVectorProperty *') to 'INDI::Property' for 1st argument
void sendNewSwitch(INDI::Property pp);
^
libindi/abstractbaseclient.h:188:14: note: candidate function not viable: requires 3 arguments, but 1 was provided
void sendNewSwitch(const char *deviceName, const char *propertyName, const char *elementName);
Dear pyindi-client developpers,
I experience an issue when compiling pyindi-client with clang.
From indiclientpython.i:
I get these compilation errors:
Could you fix this issue?
Best regards, Jérôme