我跟随cpp tutorial on google protocol buffers
我在Ubuntu上安装了Google Protocol Buffers并编译了.proto文件,因此我获得了pb.h和pb.cc生成的文件。
我使ReadAddressBook.cpp非常小。它只是创建proto对象并验证版本是否匹配。
#include <iostream>
#include <fstream>
#include <string>
#include "address_book.pb.h"
using namespace std;
int main(){
GOOGLE_PROTOBUF_VERIFY_VERSION;
tutorial::AddressBook address_book;
return 0;
}
我用
编译了它g++ -c ReadAddressBook.cpp
(同样使用g ++ -c ReadAddressBook.cpp -lprotobuf -lpthread但它给出了相同的结果)
但是在跑步时:
g++ -o ReadAddressBook ReadAddressBook.o
它给了我对谷歌protobuf src的引用不可用。为什么会这样?
答案 0 :(得分:0)
您需要将-lprotobuf
添加到链接阶段,但看起来您尝试在编译阶段使用它。也就是说,你想做:
g++ -c ReadAddressBook.cpp
g++ -o ReadAddressBook ReadAddressBook.o -lprotobuf -lpthread