'함수'에 대한 정의되지 않은 참조

친구

다른 .c 파일 (p1)의 함수를 사용하는 .c 파일 (이 파일 (p2)이라고 부름)을 컴파일하려고합니다. 모든 함수가 정의 된 (p1)에 대한 헤더 파일을 만들었습니다.

이 헤더 파일은 (p2)에 포함되어 있으며 CMakeLists.txt에 다음 줄을 추가했습니다.

# A2
set(SOURCES_A2
        src/p2.c
        src/p1.h)
add_executable(p2 ${SOURCES_A2})

내가 컴파일 할 때 make p2내가 얻을 message undefined reference to 'function'function(P1)에서 함수이다. CMake 파일에 더 많은 것을 추가하는 것을 잊었습니까?

도움을 주시면 감사하겠습니다. 코드가 필요하면 그렇게 말씀해주세요.

인사말

그림자 늑대

정의되지 않은 참조는 링커가 어디에서도 함수를 찾을 수 없음을 의미합니다. 이것은 일반적으로 현재있는 개체 파일을 지정하는 것을 잊었 음을 의미합니다. gcc를 사용하여이 문제를 해결하는 방법의 예입니다.

gcc -c -o p1.o p1.c
gcc -c -o p2.o p2.c
gcc -o program p1.o p2.o

첫 번째 단계는 p1.c를 객체 파일로 컴파일하고 아직 링크하지 않습니다 (-c). 두 번째 단계도 마찬가지지만 대신 p2.c를 컴파일합니다. 마지막 단계는 생성 된 개체 파일을 함께 연결하고 최종 프로그램을 생성합니다.

귀하의 경우 소스에 src / p1.c를 추가하여 make 명령에 이것을 추가 할 수 있습니다. 추가하는 것을 잊은 것 같습니다.

set(SOURCES_A2
    src/p2.c
    src/p1.h
    src/p1.c)
add_executable(p2 ${SOURCES_A2})

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

정적 함수에 대한 정의되지 않은 참조

정적 함수에 대한 정의되지 않은 참조

Eclipse CDT의 함수에 대한 정의되지 않은 참조

C ++의 함수에 대한 정의되지 않은 참조

main ()의 함수에 대한 정의되지 않은 참조

내 함수에 대한 정의되지 않은 참조

함수에 대한 정의되지 않은 참조를 Clion

Cgo: [C 함수]에 대한 정의되지 않은 참조

함수 호출에 대한 정의되지 않은 참조

aruco 함수에 대한 정의되지 않은 참조

함수에 대한 정의되지 않은 참조? C ++

'cusolverDn'함수에 대한 정의되지 않은 참조

portaudio 함수에 대한 gcc 정의되지 않은 참조

함수 c에 대한 정의되지 않은 참조

기존 함수에 대한 정의되지 않은 참조

함수에 대한 정의되지 않은 참조 (C ++)

C ++ : void 함수에 대한 정의되지 않은 참조

C: '함수'에 대한 정의되지 않은 참조

mq 함수에 대한 정의되지 않은 참조

C 헤더의 한 함수에 대한 "정의되지 않은 참조"

이미 정의 된 함수에 대한 정의되지 않은 참조

템플릿 정적 함수에 대한 정의되지 않은 참조

멤버 함수 및 변수에 대한 정의되지 않은 참조

gfortran의`sleep` 및`sizeof` 내장 함수에 대한 정의되지 않은 참조

'check'함수에 대한 정의되지 않은 참조 (MinGW의 GCC 컴파일)

C 프로그램의 함수에 대한 정의되지 않은 참조

Raspberry Pi의 함수에 대한 Raylib 정의되지 않은 참조

Eclipse의 OpenSSl 앱용 함수에 대한 정의되지 않은 참조

C ++의 모든 함수에 대한 정의되지 않은 참조