IT/개발

연결할 때 정의되지 않은 참조 문제를 해결하는 방법 __gcov_init

알콩달콩아빠 2023. 11. 11. 18:25
728x90
반응형

이제 C 코드 커버리지 연구를 진행하고 GCC 버전 4.4.6에서 다음 문제가 발생했습니다.

  1. 컴파일러 플래그 및 링커 옵션을 추가했거나 오류가 발생했습니다. CFLAGS = --coverageLDFLAGS := --coverageLOCAL_LDLIBS := --coverage

undefined reference to '__gcov_init'" and "undefined reference to '__gcov_merge_add'

  1. 옵션이 추가되고 링크 오류가 발생했습니다.LOCAL_LDFLAGS := --coverage

libgcov.a(_gcov.o): in function __gcov_set_sampling_rate: undefined reference to '__gcov_sampling_rate'
libgcov.a(_gcov.o): in function gcov_exit: undefined reference to '__gcov_pmu_profile_filename'
libgcov.a(_gcov.o): in function __gcov_init: undefined reference to '__gcov_pmu_profile_options' '__gcov_pmu_top_n_address'

누구든지이 문제에 대한 몇 가지 제안을 제공하는 데 도움을 줄 수 있습니까?

최상의 솔루션

이 방법을 시도해 보십시오.

다음 옵션을 사용하여 커버리지를 생성하려는 코드를 컴파일합니다.

CFLAGS: -fprofile-arcs -ftest-coverage

LFLAGS: -lgcov --coverage

그래도 문제가 해결되지 않으면 응용 프로그램의 구조, 즉 단일 프로그램 또는 공유 / 정적 라이브러리와 관련된 응용 프로그램 등에 대한 정보를 제공하십시오.

도움이 되었기를 바랍니다!

 

728x90
반응형