2017-04-17 17 views
0

システム:紛争いるProtobufバージョン

sudo apt-get install autoconf automake libtool curl make g++ unzip 
wget https://github.com/google/protobuf/releases/download/v3.2.0/protobuf-cpp-3.2.0.tar.gz 
tar -xvf protobuf-cpp-3.2.0.tar.gz 
cd protobuf-3.2.0 
./autogen.sh 
./configure 
make 
make check 
sudo make install 
sudo ldconfig 

が、私は私のプログラムをコンパイルしよう:Ubuntuの16.04

は、私は次のステップで、いるProtobufをインストールしました。

./libprotobuf-lite.so.9.0.1 
./libprotobuf.so.9.0.1 
./libprotobuf.so.9 
./libprotobuf-lite.so.9 

私はそれらを削除すると、プログラムが正しく実行されます、しかし、Ubuntuが起動

/dev/sda4: clean, xxxxxxx/xxxxxxx files, xxxxxx/xxxxxx blocks 
に貼り付けます:私はまた、私は以下のファイルを、 /usr/lib/x86_64-linux-gnuのフォルダを持っている次のエラーに

/home/arslan/www/src/main/build-controlpanel-Desktop_Qt_5_8_0_GCC_64bit-Debug/controlpanel 
[libprotobuf FATAL google/protobuf/stubs/common.cc:78] This program was compiled against version 2.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.2.0). Contact the program author for an update. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "/build/mir-pkdHET/mir-0.21.0+16.04.20160330/obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc".) 
terminate called after throwing an instance of 'google::protobuf::FatalException' 
    what(): This program was compiled against version 2.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.2.0). Contact the program author for an update. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "/build/mir-pkdHET/mir-0.21.0+16.04.20160330/obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc".) 
The program has unexpectedly finished. 

を取得しています

この問題を解決するにはどうすればよいですか?

答えて

0

OSのprotobufを使って、あなたがコンパイルしたprotobufを混在させるように見えます。すべてのパスを強制的に試してみてくださいprotoclibprotobuf。または、可能であれば、あなたのUbuntuからprotobufをアンインストールしてください。

+0

動作しません –

2

qt5.9はprotobuf 2.6.1と関連があります。

私はちょうど

LIB + = -lprotobuf

を交換いるProtobufとリンク静的libにではなく、project.pro

libに共有することによって、これを解決

LIBS + = /usr/local/lib/libprotobuf.a

関連する問題