지난주부터 스터디원들과 함께 CS50 수업을 듣고 있다!
네이버 부스트코스에서 자막+친절한 설명을 함께 제공해주셔서 매우 쾌적한 환경에서 공부하고 있음..
강의 링크 ➡️ https://www.boostcourse.org/cs112/joinLectures/41307
C언어 수업을 들어가면서 한 가지 귀찮은점이 발생했는데.
수업에서 실습에 사용하는 cs50라이브러리를 사용하려면 라이브러리가 설치된 cs50 sandbox 를 이용해야 한다는 것..
처음엔 그냥 사용했는데 내 맥북의 문젠지 서버 문젠지 sandbox 가 너무 느려져서 두고볼수가 없었다.
그리고 최근 새로 단장한 terminal 뽕을 뽑고 싶은 마음에..^^ vscode 에서 cs50 라이브러리를 사용할 수 있는 방법을 찾아보았다.
역쉬 부스트코스에서 cs50 라이브러리 관련 문서 링크를 올려주셔서 찾아가보았다!
https://cs50.readthedocs.io/libraries/cs50/c/
그런데 문제가 하나 발생했다.. 컴파일을 위해 make 명령을 사용할 수 없다는 것!!!
clang: error: linker command failed with exit code 1 (use -v to see invocation)
에러 메시지를 보아하니 -lcs50 으로 링크를 제대로 못 해주는 것 같았고, 관련 설정파일의 include 에도 추가해보았는데 계속 실패했다.
clang string.c -o string -lcs50
이렇게 하나하나 입력해 주면 가능은 했지만.. 귀찮았다...
po구글링wer 시작!!
마침 같은 문제를 질문한 친구가 stackoverflow에 계셨기 때문에 따라해보았다.
https://stackoverflow.com/questions/23749103/cs50-library-wont-link-to-file-in-cs50-appliance
요약: Makefile 이라는 no 확장자 확장자를 정의하지 않은 (댓글에서 수정사항을 알려주셨습니다! sky25님 감사합니다!) 파일을 만들고, 거기에 LDLIBS += -lcs50
를 입력해보아라
그대로 실행해봤다. 어느 위치에 만들어야 하는지 모르겠어서 일단 작업 디렉토리 내에 만듦.
띠용? 정말 된다.
어떤 원리로 이루어지는지는 차차 알아가야할듯하고, 매번 작업 디렉토리에 Makefile을 만들어주어야 하는것인지도 알아봐야겠지만 우선은 원하는 대로 돌아가니 해결완료!!
감사합니다 ㅎㅎ