강의

멘토링

로드맵

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

lahat님의 프로필 이미지
lahat

작성한 질문수

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

1.11 헤더파일 만들기

맥북 visual studio code 링킹

작성

·

429

2

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

스크린샷 2023-12-09 오후 9.01.46.png

 

말씀해주신대로

g++ add.cpp main.cpp

clang++ add.cpp main.cpp

 

2가지 다 해도 안됩니다.... 어떻게 해야할까요?

윈도우 노트북을 사야할까요?

공부하고 싶은데 맥북 visual studio code로는 따라가기가 너무 힘드네요....

답변 1

2

안녕하세요, 답변 도우미 Soobak 입니다.

 

첨부해주신 이미지의 마지막 내용은 링킹 에러로서, add() 함수의 정의가 누락되었거나, add.cpp 파일에 해당 함수가 올바르게 포함되지 않았음을 나타냅니다. 코드 작성의 실수, 파일 경로 불일치 혹은 헤더 누락 등 다양한 상황에서 링킹 에러가 발생할 수 있습니다.

 

작성하신 터미널 명령어 cd "/Users/lahat/Desktop/cpptest2/" && g++ main.cpp -o main && "/Users/lahat/Desktop/cpptest2" 부분에서 g++ main.cpp 부분을 살펴보시면, add.cpp 파일이 누락되어 있으십니다.

 

하지만, 그 위에 입력하신 명령어 clang++ add.cpp main.cpp 는 정상적으로 컴파일이 완료된 것으로 보이며, VSCode 의 왼쪽 목록에 실행 파일 a.out 이 생성되었습니다. (컴파일 옵션을 추가하지 않으면, 기본적으로 생성되는 실행 프로그램의 이름은 "a.out" 입니다.)

 

한 번, a.out 이 위치한 디렉토리로 이동하셔서, 터미널에 ./a.out 을 입력해보세요.

 

확실히, macOS 운영체제에서 VSCode 환경 설정을 직접 하는 과정 등은 Windows 운영체제에서 Visual Studio 를 사용하는 것 보다 환경 설정 등에 어려움이 있으실 수 있으나, 언젠가는 공부해야 할 내용을 미리 잘 공부한다는 점으로 생각하시면 좋을 것 같습니다.
또한, 에러의 원인과 내용을 학습하는 과정에서 기초를 탄탄히 다질 수 있을 수 있다고 생각합니다.

이번 질문에서의 어려움도 '컴파일' 과 '링킹' 등의 기본적인 빌드 과정에 대해서 다시 한 번 점검하실 수 있는 기회로 삼으시면 좋을 것 같습니다.

 

개인적으로, 질문자님께서 한 동안 환경 설정과 관련하여 어려움을 겪으셨었는데, 이번에는 그래도 빌드를 시도하고 계시는 것에 뿌듯함을 느끼셨으면 좋겠습니다.

lahat님의 프로필 이미지
lahat

작성한 질문수

질문하기