私は C++ の初心者で、Kinect V2 と libfreenect2 をいじり始めました。ライブラリの構築はうまくいったと思います。しかし、コードで使用しようとすると、いくつかの奇妙な例外が発生します。
Freenect2 freenect2;
std::string serial="";
Freenect2Device *dev = 0;
freenect2.enumerateDevices();
serial = freenect2.getDefaultDeviceSerialNumber();
dev = freenect2.openDevice(serial);
このコードを実行するたびに、シリアル番号 [serial = freenect2.getDefaultDeviceSerialNumber();] の取得に失敗します:
「未処理の例外がスローされました: 読み取りアクセス違反。
_Pnext は 0xFFFFFFFFFFFFFFFF でした。」
私が使用している場合
Freenect2 freenect2;
Freenect2Device *dev = 0;
SyncMultiFrameListener listener(Frame::Color);
FrameMap frames;
freenect2.enumerateDevices();
dev = freenect2.openDefaultDevice();
dev->setColorFrameListener(&listener);
dev->start();
listener.waitForNewFrame(frames)
代わりに、新しいフレーム [listener.waitForNewFrame(frames)] の待機中に失敗し、次の例外がスローされます。
"ConsoleApplication1.exe の 0x000000018026D0C2 (ig75icd64.dll) で例外がスローされました: 0xC0000005: アクセス違反書き込み場所 0x000000002BA0D700"
それで、私は何を間違っていますか、どうすればそれを改善できますか?
アドバイスありがとうございます。
編集:コードを短くしました...