bytedeco/javacpp

Cppbuild Control Callback Error

オープン

#771 opened on 2024/07/12

 (3 件のコメント) (0 件のリアクション) (0 人の担当者)Java (620 件のフォーク)batch import
help wantedquestion

Repository metrics

Stars
 (4,279 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

We are trying to wrap Franka Emika's libfranka library, but are getting this issue when defining a class called ControlCallback in our libfrankaConfig.java file. We have the following code:

`public static class ControlCallback extends FunctionPointer {
        static { Loader.load(); }
        public    ControlCallback(Pointer p) { super(p); }
        protected ControlCallback() { allocate(); }
        private native void allocate();
        public native Torques call(@ByRef @Const RobotState robotState, Duration duration);
    }`

In libfranka, ControlCallback represents an argument in the Robot class's control method. It should be of type std::function<franka::Torques(const franka::RobotState&, franka::Duration)>. We get the following error during runs of cppbuild.bash: In function ‘void Java_us_ihmc_libfranka_Robot_control__Lus_ihmc_libfranka_libfrankaConfig_00024ControlCallback_2(JNIEnv*, jobject, jobject)’: error: no matching function for call to ‘franka::Robot::control(JavaCPP_us_ihmc_libfranka_libfrankaConfig_00024ControlCallback&)’ 5293 | ptr->control(*ptr0); | ^ In file included from /home/franka/IdeaProjects/repository-group/libfranka-java/cppbuild/include/franka/model.h:8, note: candidate: ‘void franka::Robot::control(std::function<franka::Torques(const franka::RobotState&, franka::Duration)>, bool, double)’ 172 | void control(std::function<Torques(const RobotState&, franka::Duration)> control_callback, | ^~~~~~~ no known conversion for argument 1 from ‘JavaCPP_us_ihmc_libfranka_libfrankaConfig_00024ControlCallback’ to ‘std::function<franka::Torques(const franka::RobotState&, franka::Duration)>’ 172 | void control(std::function<Torques(const RobotState&, franka::Duration)> control_callback,

コントリビューターガイド