[Mac Apple Silicon (sonama)] Vscode에서 c++ 및 opencv 환경세팅

1.  VSCode 설치

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

vscode를 설치합니다.


2.  c++ 환경세팅

 

터미널에 다음과 같이 입력하면 컴파일러 설치여부를 확인 후 미설치시 자동으로 설치된다.

 

 

디버거인 lldb또한 마찬가지로 입력해준다.

 

 

설치한 vscode에 extenstion으로 위 사진과 같은 C/C++ extenstion을 설치한다.

 

test.cpp

 

vscode에서 파일을 하나 생성 후 다음과 같이 입력 후 

command + shift + B 로 빌드 작업을 선택한다.

 

이 때 위와 같은사진처럼 창이 뜨면 g++ 활성 파일 빌드 탭 옆에 톱니바퀴를 클릭한다.

 

그럼 다음과 같이 tasks.json파일이 생성된다. 이렇게 되면 C++ 컴파일 준비는 끝났다.

이후 실행시키면 디버그 콘솔에 다음과 같이 test출력이 잘 된것을 확인할 수 있다.

 


3.  OpenCV 

먼저 openCV의 설치와 버전관리를 진행해주는 brew를 설치한다.

터미널에 아래 코드를 입력하여 설치한다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

brew를 사용할 준비가 되었다면 터미널에 아래 명령어를 입력하여 OpenCV를 설치한다.

brew install opencv

 

설치된 opencv는 /opt/homebrew/Cellar/opencv 경로에 설치된다.

 

다시 VScode화면으로 가서 

command + shift + p를 눌러

C/C++ 구성편집(UI)를 선택한다.

 

해당 화면에서 선택되는 값들이 자동으로 c_cpp_properties.json파일에 적용된다.

 

해당 화면에서 컴파일러 경로를 적용하고

경로 포함에 다음과 같이 입력한다.

이 때 opencv버전은 사용자마자 다를 수 있으므로 확인 후 적용해야한다. (현재 작성자의 버전은 4.9.0_5)

 

3.  pkg-config 설정

컴파일 시 필요한 다이나믹 라이브러리를 참조해주는 pkg-config를 설치한다

다음의 명령어로 설치할 수 있다.

brew install pkg-config

 

다음으로 pkg-config의 경로를 설정해야한다.

작성자는 oh-my-zsh를 사용중이기 때문에 .zshrc 파일에 환경변수를 세팅해주었다.

해당 파일에

export PKG_CONFIG_PATH=/opt/homebrew/Cellar/opencv/4.9.0_5/lib/pkgconfig

를 입력해주어 환경변수 세팅을 완료한다.

 

모든 설정이 완료되었다면 VScode 터미널에서

g++ -std=c++11 `pkg-config opencv4 --libs --cflags opencv4` main.cpp -o output

다음과 같이 입력하여 빌드를 완료할 수 있다. (main.cpp의 경우)

하지만 이는 매우 불편하기 때문에

위에서 설정한 tasks.json파일을 열어 다음과 같이 변경해주면 된다.

 

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++ 활성 파일 빌드",
			"command": "/usr/bin/g++",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
						,"`pkg-config", "--libs", "--cflags", "opencv4`", "-std=c++11"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "컴파일러: /usr/bin/g++"
		}
	]
}

 

이제 command + shift + B 키로 빌드를 완료할 수 있다.