Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Issue when compiling pyindi-client with CLANG #39

@jodier

Description

@jodier

Dear pyindi-client developpers,

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);

Could you fix this issue?

Best regards,
Jérôme

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions