인프런 커뮤니티 질문&답변

양주원님의 프로필 이미지
양주원

작성한 질문수

홍정모의 따라하며 배우는 C언어

12.8 정적 변수의 외부 연결 external linkage

링크 오류

작성

·

31

1

image.png

강의 중 링커가 저절로 연결되는 변수를 찾아준다고 말씀하셨는데 작성한 코드대로 작동하지 않습니다. 저 밑에 있는 두 개의 오류가 해결이 안 됩니다.

답변 1

1

안녕하세요? 질문&답변 도우미 Soobak 입니다.

 

첨부해주신 이미지를 꼼꼼히 살펴보니, 하나의 '솔루션' 내에 AnotherStart11AnotherStart12 라는 두 개의 별도 '프로젝트' 가 존재하네요.

이 때, func_sec() 함수는 AnotherStart12 프로젝트에 정의되어 있지만, AnotherStart11 이라는 프로젝트에서 이를 사용하려고 하기 때문에 오류가 발생하는 것입니다.

링커는 기본적으로 프로젝트 간의 참조를 자동으로 해결해주지 않기 때문입니다.

image.png

 

한 번, 두 파일(강의 내용을 기준으로 main.c 파일과 second.c 파일)을 같은 '프로젝트' 내의 소스 파일로 위치시키거나,
AnotherStart11 프로젝트를 우클릭 > Add > Reference 를 선택하셔서 AnotherStart12 프로젝트를 참조로 추가해주신 후 확인해보시면 좋을 것 같습니다.

개인적으로는 첫 번째 방법을 추천드립니다.
소스 파일의 구성과 '프로젝트', '솔루션' 단위를 학습해보시는 좋은 기회가 되실 것 같습니다.

 

 

 

양주원님의 프로필 이미지
양주원

작성한 질문수

질문하기