LeapMotionの座標渡しについて
そつけんぐらし  2015/11/30(Mon) 18:42

LeapMotionで取得した指の座標を他のクラスでも使いたいので、指座標を取るクラスを作りたいのですが、
# include <Siv3DAddon/LeapMotion.hpp>を他のヘッダファイルで宣言すると多重定義になるのか下記のエラーが発生します。

1 error LNK2005: "struct s3d::Vector3D<double> __cdecl s3d::ToVec3(struct Leap::Vector const &)" (?ToVec3@s3d@@YA?AU?$Vector3D@N@1@ABUVector@Leap@@@Z) は既に LeapPos.obj で定義されています。

2 error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。


エラーの解消、もしくは取得した座標を他クラスで使う方法を教えていただきたいです。
記事編集
Reputleless  2015/12/01(Tue) 13:10
ご報告ありがとうございます。
Siv3D のコードのバグでした。

<Siv3DAddon/LeapMotion.hpp> 406 行目

Vec3 ToVec3(const Leap::Vector& v)
{
return{ v.x, v.y, -v.z };
}

に inline をつけ

inline Vec3 ToVec3(const Leap::Vector& v)
{
return{ v.x, v.y, -v.z };
}

と書き換えて上書き保存してください。
お手数をおかけしました。次期バージョンで修正いたします。
編集
件名
Re: LeapMotionの座標渡しについて
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -