학교에서 내준 프로젝트를 계속 만들기 위해 방학에도 계속 이어나가고 있다.
그런데 만들다가.. Dlib에서 deserialize라는 함수에 모델 파일을 넣을 때 오류가 난 것이다..
왜 그런가.. 하는데 debug 모드에선 this가 nullptr를 가르키고 있다 하고 release 모드에선 예외가 발생했다 하고..
예외 발생(0x00007FF69400D3D3, program.exe): 0xC0000005: 0x0000000000000008 위치를 읽는 동안 액세스 위반이 발생했습니다..
이런식으로..
그래서 뭔 문제인가 보니..
이전 프로젝트 같은 경우 정상적으로 됬는데 이번꺼만 안되었다..
왤까 하고 생각해보니 이전껀 포인터를 몰라서 안썼는데 이번껀 포인터를 좀 써봐서 안됬던 것 같은 생각이 떠올랐다..
그래서 포인터로 변수 만들때 * 기호를 제거하니.. 되네.. 하하하하하 왜 이걸로 2일을 존버 탄걸까..
dlib::shape_predictor* sp;
dlib::deserialize(spPath) >> *sp;
이런식으로 변수를 생성하고 deserialize로 모델을 로드하니 안됬었다..
그래서 그냥 포인터를 제거하니깐 아주 잘된다.. 하하하하하하
그래서 난 이런식으로 주석을 했다.
//이거 모델 로드 할때 포인터 쓰면 오류남
dlib::shape_predictor sp; //68점 찍는거
if (modelFileCheck(spPath))
//dlib::deserialize(spPath) >> sp;
요약
Dlib에서 모델 파일 불러올 때 (dlib::deserialize) 이걸로 뭔 이상한 오류 뜨면 포인터를 제거해봐야 한다..
(근데 아직도 포인터의 정확한 개념과 사용방법은 몰라서 저게 왜 되는지도 모르겠다.. 흐으억)
'오류 | 문제 > C++' 카테고리의 다른 글
C++ OpenCV Dlib cvtColor 이상한 오류 RGB > BGR > RGB... (0) | 2023.02.27 |
---|---|
C++ OpenCV 이미지에서 이미지 복사 문제점 (0) | 2023.02.24 |
C/C++ Visual Studio QT 한글 깨짐 / 한글 오류 (0) | 2023.01.26 |
C/C++ 'RuntimeLibrary'에 대해 불일치가 검색되었습니다. (0) | 2023.01.10 |
QT Qt6Core.dll Qt6Gui.dll Qt6Widgets.dll 찾을 수 없음 (0) | 2023.01.10 |