[macOS / C] Xcode에서 C언어 개발 환경 구축하기

Xcode에서 C언어 개발 환경을 구축하는 방법에 관한 글입니다. 초기 설정부터 컴파일, 실행 과정까지만 간단하게 기록해두었습니다. 아래 목록 참고하시어 필요한 내용 확인하시기 바랍니다.


gcc Complier 설치하기

먼저, C언어를 컴파일하기 위해 gcc 컴파일러를 설치해야 합니다. 터미널 앱을 열고 Xcode의 Command Line Tool을 설치하시면 됩니다.

*gcc 컴파일러란? 출처 – gcc 란?(야옹이형 블로그)

gcc(GNU Complier Collection)으로 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러입니다. 기존에 C 언어만 지원했던 컴파일러로 GNU C Complier로 존재했지만, 후에 C++, Java, Fortran 등을 지원하게 되면서, Collection으로 이름을 바꾸게 되었습니다.

 

1) 터미널 앱을 실행하시고 아래 커맨드를 입력합니다. ▼

xcode-select --install

 

2) 설치관련 메세지가 나오면, ‘Install’ 버튼을 눌러 설치를 진행하시면 됩니다. ▼

이미 설치된 경우 ▼

Command Line Tool이 이미 설치된 경우 아래 오류 메시지를 받으시게 됩니다. 이 경우 아래 검증 단계로 바로 이동하시면 됩니다.

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

 

3) 설치가 완료되면 툴이 제대로 설치되었는지 마지막으로 검증(Verification)을 합니다.

gcc 컴파일러 검증 3가지 ▼

$ gcc --version
$ whereis gcc
$ whereis make

정상적으로 설치가 완료된 경우 아래 메세지를 확인하실 수 있습니다. ▼


C 언어로 프로젝트 생성

Xcode에서 C언어 프로젝트를 생성하는 방법입니다.

 

1) Xcode를 실행하시고 아래 그림의 경로를 참고하여 프로젝트를 생성합니다. ▼

  • Xcode > File > New > Project.. 혹은 Shift + Cmd + N

 

2) ‘macOS’ 탭에서 Command Line Tool을 선택합니다. ▼

 

3) 프로젝트 정보를 입력하여 프로젝트를 생성합니다. ▼

  • Product Name : 프로젝트 이름
  • Organization Name & Identifier : 프로젝트의 개발자 이름과 도메인
  • Language : 프로그래밍 언어 선택, 이 글의 경우, C를 선택하시면 됩니다.

 

4) C 언어를 이용하여 개발을 시작하시면 됩니다. ▼


터미널에서 컴파일 및 실행하기

터미널에서 C언어로 작성된 프로젝트를 컴파일 및 실행하는 방법입니다. 아주 간단한 예시로 작성되었습니다.

 

1) cd 커맨드를 사용해 c 파일이 있는 경로로 이동합니다. ▼

cd [경로]
  • 예제 파일 : a.c
#include<stdio.h>
int main(void){
 printf("Hello world\n");
 return 0;
}

 

2) ‘컴파일(Complie)’을 하기 위해 make 커맨드를 실행합니다. ▼

$ make a
cc     a.c   -o a

다른 컴파일 및 실행 예시 ▼

$ gcc -o output a.c
$ output
Hello world

$ cc a.c
$ a.out
Hello world

 

3) 생성된 실행 파일을 실행하시면 됩니다(./a).

$ ./a
Hello world

이상입니다.

참고

2 COMMENTS

  1. 안녕하세요. xcode로 c++ 개발하는 중인데 .. queue를 사용하여 터미널에서 컴파일하면 계속해서 오류가 납니다.

    error: a space is required between consecutive right
    angle brackets (use ‘> >’)
    queue<pair> q;

    error: expected expression
    q.push({i,j});

    해결방법 아시면 알려주시면 감사하겠습니다. ㅜㅜ

댓글 남기기