리눅스는 protobuf3.6.1는 C ++ 컴파일러와 설치 중에 오류가 발생 설치 설치

 

https://www.jianshu.com/p/83fde1089fea

1 소스 다운로드

git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf/
git submodule update --init --recursive
./autogen.sh

2 개 준비

를 빼고, 다음과 같은 도구를 보장 설치하기 전에 자동 설치 :

autoconf
automake 
libtool   
make  
g++  
unzip

우분투 / 데비안에, 당신은 그들과 함께 설치할 수 있습니다 :

    $ sudo는 apt-get을 설치 autoconf를 automake에 libtool을 곱슬 곱슬하게 g ++ 압축 해제

 

3 설치 protobuf

그런 다음 (자동화 된 스크립트를 기록 할 수 있으며, 단계별로 수행 할 필요가 없습니다) 환자, 조금 더 설치로 다음 명령을 실행합니다 :

./configure 
make 
make check 
sudo make install 
sudo ldconfig  # refresh shared library cache.

이 일반에서
/ usr / 지방 / lib 디렉토리 경로에서 libprotobuf 라이브러리
일반적으로 protoc에서 / usr / 지방 / 빈 경로

4 환경 구성

경로에 따라 다음의 환경 구성, 어디에 두 개 이상의 파일, 내 실제 환경 설정에서 다음 명령을 특정 경로 특정 변경

$ sudo vim /etc/profile

추가

export PATH=$PATH:/usr/local/bin/
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

저장 실행

source /etc/profile

5 구성 동적 라이브러리 경로

sudo vim /etc/ld.so.conf

추가

/usr/local/protobuf/lib

그리고 루트로 동적 라이브러리 경로를 업데이트

 

ldconfig

 


./configure -prefix=/usr/local/


sudo make #要编译很久

sudo make check

sudo make install

 

 오류 사례 1 :

구성 : 오류 : 유효하지 않은 변수 이름 :`-prefix '

올바른 형식 : 접두사의 앞에 "-"를 "-"

例如 : ./ 구성 --with-http_stub_status_module "--prefix =는 / usr / 웹 서비스 / nginx를"--with-PCRE = / 가정 / 탕 / 下载 /pcre-8.20 
 

 오류 사례 2 :

나는이 때 도우는 실수를

v2x @ 우분투 : ~ / 바탕 화면 / protoBuf / protobuf-3.6.1 $의 sudo는 메이크업은
모든 재귀 할
디렉토리를 입력 '/home/v2x/Desktop/protoBuf/protobuf-3.6.1'메이크업 [1]
모든 결정을.
메이크업 [2] : 입력 디렉토리 '/home/v2x/Desktop/protoBuf/protobuf-3.6.1'
떠나 디렉토리 '/home/v2x/Desktop/protoBuf/protobuf-3.6.1'메이크업 [2]
SRC의 모든 만들기
확인 [2] : 디렉토리 '/home/v2x/Desktop/protoBuf/protobuf-3.6.1/src'입력
depbase을 =`에코 / protobuf / 스텁 / bytestream.lo 구글 | SED의 | [^ /] * $ | .deps / & |;의 | \ $ .lo || ''; \
../-libtool --tag = CXX --mode = 컴파일 g ++ -DHAVE_CONFIG_H -I. -I .. -pthread -DHAVE_PTHREAD -DHAVE_ZLIB = 1 = 1 - 벽 -Wno 사인온 비교 -O2 -g -std = C ++ 11 -DNDEBUG -MT 구글 / protobuf / 스텁 / bytestream.lo -MD -MP -MF $ depbase.Tpo -c -o / protobuf / 스텁 / bytestream.lo 구글 / protobuf / 스텁 / bytestream.cc && \ 구글
MV -f $ depbase.Tpo $ depbase.Plo
/ 빈 / bash는 : 라인 1 :. ./-libtool : 권한이 거부
3969 : 실패 '/ protobuf / 스텁 / bytestream.lo 구글에서'대상에 대한 조리법 메이크
*** [구글 / protobuf / 스텁 / bytestream.lo] 오류 126 : 메이크업 [2]
메이크업 [2 ] : 디렉토리 '/home/v2x/Desktop/protoBuf/protobuf-3.6.1/src'떠나
1537 : 메이크 대상에 대한 조리법을 '모든 재귀'실패
메이크업 [1] : *** [모든 재귀] 오류 1
메이크업은 [1] : 디렉토리 '/home/v2x/Desktop/protoBuf/protobuf-3.6.1'떠나
1444 : 메이크 대상에 대한 조리법을 '모두'실패
 

문제 :

파이썬 使用 protobuf 出错 : protoc : 오류를로드 공유 라이브러리 상태 : libprotoc.so.9가 : 공유 열 수 없습니다 개체 파일 : 없음 같은 ...

해결 방법 : 리눅스 탭 명령 : 수출 LD_LIBRARY_PATH = / usr / 지방 / lib 디렉토리
 

 

컴파일러 팔 protobuf 라이브러리 시스템의 리눅스 버전

https://blog.csdn.net/nicebooks/article/details/17962335

게시 된 101 개 원래 기사 · 원 찬양 73 · 전망 120 000 +

추천

출처blog.csdn.net/usstmiracle/article/details/103401948