PyTorchと併用した際の undefined reference to cv::imread
undefined referenceは、リンクすべきライブラリをリンクし忘れている場合に発生するエラーですが、今回はきちんとリンクしているのにエラーが消えませんでした。
自分の場合は、PyTorchの(cxx11 ABI)を使うようにしたら解決しました。例えば以下のようなリンクです。
https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.11.0%2Bcpu.zip
その他の場合は、OpenCVのissueなどで紹介されている方法が参考になるかもしれません。
PyTorch Forumでも同様の現象について投稿されていました。
謎のsegmentation fault
以下のような関数ではSegmentation faultが発生する場合があるようです。
cv::Mat loadImage(std::string image_path)
{
cv::Mat image = cv::imread(image_path);
return image;
}
以下のように修正すると改善します。
cv::Mat loadImage(std::string image_path)
{
cv::Mat image = cv::imread(image_path);
return image.clone();
}
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント