Skip to content

[BUG] SOP_OpenVDB_Activate.cc doesn't compile successfully with Houdini 21 #2080

@callen128

Description

@callen128

Environment

Operating System: Linux Rocky 9.5
Commit SHA: 584b2b5

Describe the bug

When SOP_OpenVDB_Activate.cc was updated for Houdini 21.0's API changes, the function prototypes for inputLabel() and isRefInput() were updated to take an OP_InputIdx instead of an unsigned int, but the implementations at the bottom of the file still take unsigned int, giving a compiler error.

To Reproduce

Steps to reproduce the behavior:
Build the Houdini plugin SOP_OpenVDB_Activate.cc with Houdini 21.0.440
See the compiler error:

openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:1297:1: error: no declaration matches ‘const char* SOP_VDBActivate::inputLabel(unsigned int) const’
 1297 | SOP_VDBActivate::inputLabel(unsigned index) const
      | ^~~~~~~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:63:18: note: candidate is: ‘virtual const char* SOP_VDBActivate::inputLabel(OP_InputIdx) const’
   63 |     const char  *inputLabel(OP_InputIdx idx) const override;
      |                  ^~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:60:7: note: ‘class SOP_VDBActivate’ defined here
   60 | class SOP_VDBActivate : public hvdb::SOP_NodeVDB
      |       ^~~~~~~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:1310:1: error: no declaration matches ‘int SOP_VDBActivate::isRefInput(unsigned int) const’
 1310 | SOP_VDBActivate::isRefInput(unsigned i) const
      | ^~~~~~~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:64:18: note: candidate is: ‘virtual int SOP_VDBActivate::isRefInput(OP_InputIdx) const’
   64 |     int          isRefInput(OP_InputIdx i) const override;
      |                  ^~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:60:7: note: ‘class SOP_VDBActivate’ defined here
   60 | class SOP_VDBActivate : public hvdb::SOP_NodeVDB
      |       ^~~~~~~~~~~~~~~
gmake[2]: *** [openvdb_houdini/openvdb_houdini/CMakeFiles/SOP_OpenVDB_Activate.dir/build.make:79: openvdb_houdini/openvdb_houdini/CMakeFiles/SOP_OpenVDB_Activate.dir/SOP_OpenVDB_Activate.cc.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions