Image Process

Open3D Visual Studio에서 사용하는 법

kmyobin 2023. 9. 10. 23:01

3일을 날렸다

이것 때문에

눈물이 난다

해결하니 별거 아니었다

ㅠㅠ

 

0. 버전

CMake 3.27.4

Open3D 0.11.0

Visual Studio 16 2019

 

 

1. 필요한 프로그램

CMake, GIT은 설치되어있어야 한다.

Visual Studio도 당연함..

쨌든 PASS

 

 

2. Open3D Source Code 다운

C드라이브에 가서 cmd 창 켜주고(혹시 모르니 관리자 모드)

git clone https://github.com/isl-org/Open3D

 

 

3. CMake

CMake-GUI 킨다.(혹시 모르니 관리자 모드)

source folder와 build folder를 저렇게 설정한다.

build는 원래 없던 폴더가 맞다. 앞으로 configure와 generate를 누르면 build 폴더 안에 뭐가 생길 것임

Configure를 누르면 어떤 Generator로 할 거냐고 묻는데 Visual Studio 16 2019 ㄱㄱ

 

그런 다음

CMAKE_INSTALL_PREFIX=C:/open3d_install

디폴트는 C:/Program Files/Open3D일텐데 아마?

그냥 바꿨다

다들 그렇게 하길래..

크게 상관은 없는듯

BUILD_SHARED_LIBS=ON

BUILD_WEBRTC=OFF

STATIC_WINDOWS_RUNTIME=OFF

해줘야 한다. 나머진 그대로 뒀음

 

STATIC_WINDOWS_RUNTIME은 OFF로 해야 C++ 프로젝트에서 MD, MDd로 빌드할 수 있는데, ON으로 하면 MT(다중 스레드) 형식으로 빌드해야한다.

뭐 이렇게 해도 상관은 없다만 나는 PCL과 같이 쓰기 때문에 충돌했다.

2시간 동안 빌드하고 잘 되는 거 확인까지 했는데 충돌해서 세상이 무너졌었다.

 

쨌든 저 3개 체크하고

Generate - Open Project 순으로 누른다.

아 그리고 혹시 모르니까 그냥 모든 것을 관리자 모드로 실행하자.

 

 

4. 빌드

구성을 Release, x64로 바꾸고

ALL_BUILD 우클릭 - 시작 프로젝트로 설정

ALL_BUILD 우클릭 - 빌드

 

그럼 1시간 넘게 걸린다.

성공적으로 빌드가 마쳐지면 

INSTALL 우클릭 - 프로젝트만 - INSTALL만 다시 빌드

 

난 Debug용 Open3D도 다운받고 싶은데 거기까진 해결방법을 찾지 못했다.

참고로 Debug로 놓고 빌드하면 반드시 오류난다.

 

 

5. 확인

아까 prefix folder를 C:/open3d_install로 설정했으니 그쪽으로 달려가본다.

잘 생겼다.

 

 

6. C++ 프로젝트에 링크하기

왜 공식문서에 이거 없냐?

진심 중국 사이트까지 다 뒤져봤다.

온갖 깃허브 이슈들을 다 뒤져봤다.

그래서 찾음

 

프로젝트 - 속성

C/C++ - 일반 - 추가 포함 디렉토리

C:\open3d_install\include

C:\open3d_install\include\open3d\3rdparty

두 개 넣어준다.

 

그 다음,

링커 - 입력 - 추가 종속성

C:\open3d_install\lib\Open3D.lib

넣어준다.

 

그런데 이렇게 하면 오류가 난다.

Open3D.dll이 없다고 한다.

?

 

왜인지는 모르겠다.

그럼 직접 프로젝트에 넣어주면 된다.

C:\Open3D\build\bin\Release 가면 있다.

복사해서 프로젝트에 넣어주자

 

내 프로젝트 이름은 example인데,

C:\Users\사용자이름\source\repos\example\example

여기에 복붙하면 된다.

 

그럼 잘 된다.


끝.

3일동안 힘들었는데

해결하고 보니 별 거 아닌 것 같아 허탈하다.

쨌든 이제서야 개발환경 구축했다.

2주 걸렸네

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ