우분투에서 c, c++ 개발환경 구성하기(3)

재우·2022년 8월 10일
1

개발환경구성

목록 보기
3/4

4. c,c++ 컴파일러 설치

설치하려는 컴파일러는 gcc 이고

sudo apt install build-essential

을 명령어 창에 입력하면 gcc와 make, cmake 등 필요한 것들이 설치됩니다. (중간에 y입력해주면됩니다.)
그 다음 컴파일러가 잘 설치가 되나 간단한 빌드를 해봅시다.
리눅스 명령어 모음 여기서 명령어들을 보며 사용해주세요.

해당 명령어로 main.cpp 파일 생성하고 파일로 들어갑니다.
vi 편집기 명령어여기서는 vi 편집기 명령어들을 보며 사용할 줄 알아야합니다..ㅠ

간단한 메인문을 작성해봅시다.

#include <iostream>

int main()
{
	std::cout << "Hello, World!" << std:: endl;
    return 0;
}

작성하고 역시 wq로 나와줍시다. 작성하다가 esc 누르고 : 누르면 wq를 입력하실 수 있습니다.

그 다음

g++ -o (생성할 이름 = test) main.cpp
-> 실행 파일 생성
./(생성한 이름 = test)
-> 파일 실행

를 해주어 컴파일하고 파일이 실행된 것을 확인할 수 있습니다.!

cmake 설치 (수정)

위에 명령어로는 cmake가 설치가 안된 것을 확인했습니다..!

위처럼

sudo apt install cmake

명령어 입력시 cmake을 다운받을 수 있습니다.

cmake --version

하지만 해당 명령어로 버전 확인시 3.10.2 버전이 깔렸다.
저는 3.21 버전 이상을 다운받아야 하므로 홈페이지에서 다운받도록 하겠습니다.
일단 이전 버전을 삭제해주어야 합니다

sudo apt remove cmake

명령어로 방금 설치한 cmake 3.10.2 버전 삭제.
그 다음 https://cmake.org/download 여기로 들어가셔서

해당 파일 다운로드.
그 이후 다운로드 폴더(한글이 안쳐질 경우 상단 오른쪽에서 한국어로 변환)를에 가서 다운받은 cmake-3.24.0.tar.gz 파일을 압축 해제 해줍니다.

cd 다운로드
tar -xvzf cmake-3.24.0.tar.gz

그 다음 압축해제된 폴더로 들어서 cmake를 빌드하고 설치하는 과정을 거칩니다.

cd cmake-3.24.0
./bootstrap --prefix=/usr/local


그런데 위처럼 에러가 발생했습니다. 이 에러에 대해서는

sudo apt install libssl-dev

명령어로 libssl-dev패키지를 설치해주신 다음 다시

./bootsrtrap --prefix=/usr/local

명령어를 수행해주세요.

위처럼 에러가 없이 성공한 모습을 보실 수 있습니다.
다음으로 make 명령어를 실행해줍니다.

make

이때 시간이 꽤나 걸렸습니다.
마지막으로

sudo make install

하고

cmake --version

이 때 시스템 전역에서 찾을 수 없다고 나와

/usr/local/bin/cmake --version

로 확인하니 3.24.0 버전 확인이 가능합니다. 또한 터미널 종료 후 다시 실행하니

cmake --version

으로도 버전 확인이 가능했습니다.

※처음 홈페이지에서 압축파일 설치 후 명령어 전체

tar -xvzf cmake-3.24.0.tar.gz #다운로드한 위치에서
./bootstrap --prefix=/usr/local #압축해제한 폴더에서
make
sudo make install
cmake --version #터미널 재시작 후

예외(모스키토 개발 라이브러리 설치)

sudo apt-get update -y
sudo apt-get install -y libmosquitto-dev

저는 모스키토 라이브러리를 사용하기위해서 해당 코드로 모스키토 개발 라이브러리 설치해줬습니다.

레포지스토리에서 코드 다운

해당 부분은 자신이 빌드할 코드를 레포지스토리에서 가져오시면 됩니다.
또는 가상머신에 ssh로 연결하여 scp 명령어를 사용해줘도 되죠.

이제 vscode로 원격 빌드 하는 법을 다음에 작성하도록 하겠습니다!

0개의 댓글