undefined reference to 에러

글쓴이: 익명 사용자 / 작성시간: 금, 2019/02/22 - 5:57오후
FFmpeg를 써서 인코딩을 하고있습니다.
raw 데이터를 인코딩하려고 하는데요.
소스코드를 디버깅하면 undefined reference to 'avcodec_receive_packet'이라든지
undefined reference to 'avcodec_send_frame'같은 오류가 뜹니다. (물론 이게 오류의 전부는 아니구요)
헤더 파일도 include 시켜줬습니다. (avcodec.h)
+ 혹시 av_strerror, av_packet_unref, av_packet_alloc, av_opt_set, av_frame_get_buffer, av_frame_make_writable, av_frame_free, av_packet_free 함수가 선언된 헤더를 아시는 분이 계신가요?
Forums:
보통 링크할 때 발생하는 에러인데요.
보통 링크할 때 발생하는 에러인데요.
디버그 할 때 발생한 게 맞나요?
https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix
이렇게 뜹니다.
사진 첨부합니다. 에러가 이렇게 뜹니다.
1. 아무리 봐도 디버그할 때 나는 에러가 아니라
1. 아무리 봐도 디버그할 때 나는 에러가 아니라 링크 에러인데요.
위 에러를 발생시킨 명령어까지 보여주세요. 십중팔구 GNU 컴파일러이거나 그걸 실행시키는 빌드 시스템(make 등)이겠지만.
원래 말이라는 게 아 다르고 어 다른 법이고, 컴퓨터를 다룰 땐 더 그렇습니다. 잘 모르겠으면 그냥 다 캡쳐해서 보여주는 게 낫습니다.
2. 외부 라이브러리를 사용할 땐 헤더 파일을 포함하는 걸로 끝이 아닙니다. 헤더에는 대개 선언밖에 없으므로, 링커에게 따로 플래그를 줘서 링크해야 됩니다. 대체로 라이브러리마다 방법이 다른데, ffmpeg에 대해서는 아래 링크를 참조하시면 되겠군요.
https://soledadpenades.com/posts/2009/linking-with-ffmpegs-libav/
번외. video_encoder.c:55:13의
if(argv <= 2)
는 매우 이상한 코드이고 프로그래머가 이렇게 의도하고 작성했을 가능성은 거의 없습니다. 한 번 검토해보시길.에러 사진입니다.
에러가 이렇게 뜹니다.
헤더만 포함되고 함수 본체를 찾지 못하는 것 같습니다
헤더만 포함되고 함수 본체를 찾지 못하는 것 같습니다.
댓글 달기