1
メンバー関数をバインドしたいが失敗しているようだ。メンバ関数をstd :: functionとバインドする方法は?
Q4kDeviceSource.hh
class Q4kDeviceSource {
public:
void videoStreamCallback(QIPCamStreamCbType streamCbType, uint32_t streamId, uint8_t *buffer, size_t bufferSize);
。。。
}
typedef std::function<void(QIPCamStreamCbType cbType, uint32_t streamId,
uint8_t* buffer, size_t bufferSize)>
StreamCallback;
Q4kDeviceSource.cpp
。。。
StreamCallback videoElementryCb = std::bind(&Q4kDeviceSource::videoStreamCallback, this,
std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4);
videoElementryCb(QIPCamStreamCbType::QIPCAM_STREAMCBTYPE_NORMAL,id,NULL,0);
。。。
ビルドが失敗した
./prebuilts/ndk/9/sources/cxx-stl/gnu-libstdc++/4.8/include/functional:2463:!エラー:STD」に未定義の参照: :__ throw_bad_function_call()」 collect2は:エラー:ldは1つの終了ステータスが返されますがgcc
の代わりg++
とリンクするように
https://stackoverflow.com/questions/12942538/undefined-symbol-std-throw-bad-function-call – melak47