https://github.com/google/protobuf에서 clone을 받습니다.
$ git clone https://github.com/google/protobuf.git
매뉴얼은 protobuf폴더 내, src/README.md 에 C++용 가이드가 있습니다.
영어로 되어 있으며 utunto 기준으로 설명을 합니다.
CentOS로 풀어서 가이드로 해보면
설치 전 필요 Tool은 다음과 같습니다.
1. autoconf , $ yum install -y autoconf 2. automake , $ yum install -y automake 3. libtool , $ yum install -y libtool 4. curl , $ yum install -y curl (gmock을 다운받기 위한 용도) 5. g++ , $ yum install -y gcc-c++ 6. unzip , $ yum install -y unzip
그 다음 protobuf가 clone된 메인에서
$ ./autogen.sh 를 실행합니다.
그 이후
$ (sudo) ./configure [저의 경우는 root유저로 ./configure로 했을 때, configure: error: C++ compiler cannot create executables 가 발생하였고, sudo 를 붙이니 해결되었습니다.(가이드는 sudo없음)] $ make $ make check $ sudo make install $ sudo /sbin/ldconfig // Library를 unit library Cache에 적재
이제 이 Library와 Include들을 상대적이게 할 것인지,
절대적으로 /usr/경로에 넣을 것인지를 선택합니다.
저의 경우는 상대적으로 작업을 하였는데, 이유는 git에 올렸을 때, clone시 protobuf 설치 없이 가능하도록
하기 위해서 였습니다.
우선 필요 include 파일은 protobuf/src/google 폴더 전체를 복사하면 됩니다.
- 상대 경로
이 폴더를 작업할 디렉토리에 넣습니다.
user_root/server/include/google 쪽에 작성하였습니다.
library의 경우, 빌드 시 /usr/local/lib 쪽에
다음과 같이 설치되게 됩니다.
-rw-r--r--. 1 root root 5451246 8월 12 18:26 libprotobuf-lite.a -rwxr-xr-x. 1 root root 1003 8월 12 18:26 libprotobuf-lite.la lrwxrwxrwx. 1 root root 26 8월 12 18:26 libprotobuf-lite.so -> libprotobuf-lite.so.13.0.2 lrwxrwxrwx. 1 root root 26 8월 12 18:26 libprotobuf-lite.so.13 -> libprotobuf-lite.so.13.0.2 -rwxr-xr-x. 1 root root 2318168 8월 12 18:26 libprotobuf-lite.so.13.0.2 -rw-r--r--. 1 root root 65715112 8월 12 18:26 libprotobuf.a -rwxr-xr-x. 1 root root 968 8월 12 18:26 libprotobuf.la lrwxrwxrwx. 1 root root 21 8월 12 18:26 libprotobuf.so -> libprotobuf.so.13.0.2 lrwxrwxrwx. 1 root root 21 8월 12 18:26 libprotobuf.so.13 -> libprotobuf.so.13.0.2 -rwxr-xr-x. 1 root root 25308744 8월 12 18:26 libprotobuf.so.13.0.2 -rw-r--r--. 1 root root 108073784 8월 12 18:26 libprotoc.a -rwxr-xr-x. 1 root root 984 8월 12 18:26 libprotoc.la lrwxrwxrwx. 1 root root 19 8월 12 18:26 libprotoc.so -> libprotoc.so.13.0.2 lrwxrwxrwx. 1 root root 19 8월 12 18:26 libprotoc.so.13 -> libprotoc.so.13.0.2 -rwxr-xr-x. 1 root root 34984344 8월 12 18:26 libprotoc.so.13.0.2 drwxr-xr-x. 2 root root 49 8월 12 18:26 pkgconfig
위 파일들에 해당하는 것을 상대경로 프로젝트로 넣습니다.
2. 절대경로
절대 경로의 경우,
/usr/include 에 protobuf/src/google 폴더를 복사하면 되고,
/usr/lib64 에 위 library를 복사하면 됩니다.
만약 git에 올리게 되는 경우라면, *.so파일만 올리길 권해드립니다. (100MB 용량 제한이 있기에)
정적파일의 경우 조금 제한이 있어 보입니다. 혹은 압축으로 올려도 상관은 없을 것 같습니다.
그런 다음엔 간단한 에코서버를 작성해 보겠습니다.
댓글 없음:
댓글 쓰기