티스토리 뷰

하게 된 이유

- 프로젝트들에 앞서 매번 기둥이 되는 서버를 직접 작성했었는데, 이번 기회에 기본이 되는 서버단을 구현해놓고 사용하기 위해서 C++ IOCP 서버와 Select 서버, C# 클라이언트 서버를 구성하였습니다. 그러다보니 C++과 C#을 함께 사용하기 위해 패킷을 직렬화 해야되는데 그 부분을 Protocol Buffer로 하기 위해 설치하게 되었습니다.

 

먼저 과정에 설명하기 앞서서, 아직 프로토콜 버퍼 뉴비이기 때문에 전체적인 옵션들에 대해서 미숙하다는 점을 미리 설명드립니다.


과정

- 먼저, https://github.com/protocolbuffers/protobuf 에 접속하여 기초 소스들을 다운받아야 합니다.

소스는 GitHub release page를 클릭하면 버전들이 나오게 되고, 저는 그 중에서 현 시점의 최신 버전인 3.23을 설치하게 되었습니다. 받을 때는 전체 중에서 sourcode.zip 버전을 받았습니다.

- 두 번째로, CMake를 통해 프로젝트 파일로 변환하여야 합니다. 이 과정에서 3.12 버전을 할 때와는 다른 여러 현상이 발생하였습니다. 먼저, 예전 같은 경우 CMake에 where is the source code, build binaries 부분에 cmake 폴더와 생성될 폴더를 넣었다면, 지금은 저렇게 protobuf 폴더 자체를 선택해줘야 합니다. 왜냐하면 CMakeList.txt 파일이 밖으로 나와있기 때문입니다.

 

그리고 Configue를 누르게 되면 빠방 하며 뭐 폴더를 못 찾겠고, third_party 폴더에 googletest에 CMakeList를 찾지 못합니다. 등의 오류가 발생합니다. abseil-cpp에 CMakeList를 찾지 못하겠습니다. 등의 오류가 뜨는데 이 오류를 해결하기 위해서는 두 가지의 폴더에 특정 파일들을 추가해야 합니다.

 

1. abseil-cpp : https://github.com/abseil/abseil-cpp

 

GitHub - abseil/abseil-cpp: Abseil Common Libraries (C++)

Abseil Common Libraries (C++). Contribute to abseil/abseil-cpp development by creating an account on GitHub.

github.com

- 간단한 설명을 붙이자면, Abseil C++ 라이브러리 코드가 포함되어 있는 레포입니다. Abseil은 C++ 표준 라이브러리를 보강하도록 설계된 C++ 라이브러리 코드의 오픈소스 모음이라고 합니다. ㅎㅎ

 

2. googletest : https://github.com/google/googletest

 

GitHub - google/googletest: GoogleTest - Google Testing and Mocking Framework

GoogleTest - Google Testing and Mocking Framework. Contribute to google/googletest development by creating an account on GitHub.

github.com

- 이건 아직 잘 모르겠습니다.. ㅜ

 

두 개의 깃 레포지를 받아서 고대로 각각 맞는 폴더에 넣어주면~ 야무지게 해결이 되는 것을 볼 수 있습니다. 다만 이렇게 되면 아래와 같이 엄청나게 많은 옵션들이 나타나는데... 이건 좀 더 공부를 해봐야될 것 같습니다.

 

- 아무튼 두 개의 폴더를 넣으면 오류 없이 잘 뜨게 되고, 필요한 옵션을 클릭한 후 Generate를 누르면 ~ .sln 파일이 생성됩니다. 그리고 프로젝트를 실행하여 Debug, Release 모드로 빌드 후 필요한 파일들을 가져가 사용하면 됩니다!

추가적으로 말씀해주실 부분들이 존재하면 댓글 부탁드리겠습니다!

But,, 이렇게 만들어진 파일이 visual Studio에서는 작동이 안됬다는 사실.. 눈물이 나네요 ㅜㅜ..
absl 코드도 추가해놨었는데 마음이 아픕니다..

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함