Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在mac上构建google协议缓冲区教程 我试图在目前为止没有成功的MAC上构建C++教程示例。教程在这里_C++_Macos_Protocol Buffers - Fatal编程技术网

Can';t在mac上构建google协议缓冲区教程 我试图在目前为止没有成功的MAC上构建C++教程示例。教程在这里

Can';t在mac上构建google协议缓冲区教程 我试图在目前为止没有成功的MAC上构建C++教程示例。教程在这里,c++,macos,protocol-buffers,C++,Macos,Protocol Buffers,我无法使用makefile来构建示例,因为没有pkg confic命令。我得到以下错误 pkg-config --cflags protobuf # fails if protobuf is not installed /bin/sh: pkg-config: command not found make: *** [add_person_cpp] Error 127 我可以使用以下方法构建编译器和库 ./configure --prefix=/usr make make check mak

我无法使用makefile来构建示例,因为没有pkg confic命令。我得到以下错误

pkg-config --cflags protobuf  # fails if protobuf is not installed
/bin/sh: pkg-config: command not found
make: *** [add_person_cpp] Error 127
我可以使用以下方法构建编译器和库

./configure --prefix=/usr
make
make check
make install
我可以使用protoc编译教程中包含的proto文件,但由于某些原因,我无法链接可执行文件。我得到以下信息

$ g++ add_person.cc addressbook.pb.cc -L /usr/lib/ -l libprotobuf.a  -o write
ld: library not found for -llibprotobuf.a

…但是库肯定在/usr/lib中。我可能在这里犯了一个非常基本的错误。

链接标志应该是

-lprotobuf

链接标志应该是

-lprotobuf

@Learvst和你一样我的Mac电脑上没有安装pkg配置 有关我的MAC版本,请参见下面的

$sw_vers
这表示protoc编译器使用库“libprotobuf.8.dylib”

然后我编译了

abd@harvey- $C++ AddiHOM.C.AddiSrBoo.b.cc-o AddiPuthOpjCPP-L/USR/Studio/LIB -LoPosiBF. 8 < /COD> < /P>
瞧,我的程序“add_person_cpp”已经准备好使用了

abd@harvey-specter$c./添加个人cpp

Usage: ./add_person_cpp ADDRESS_BOOK_FILE 用法:./add_person_cpp ADDRESS_BOOK_FILE
希望对你有所帮助

@Learvst和你一样,我的Mac电脑上没有安装pkg配置 有关我的MAC版本,请参见下面的

$sw_vers
这表示protoc编译器使用库“libprotobuf.8.dylib”

然后我编译了

abd@harvey- $C++ AddiHOM.C.AddiSrBoo.b.cc-o AddiPuthOpjCPP-L/USR/Studio/LIB -LoPosiBF. 8 < /COD> < /P>
瞧,我的程序“add_person_cpp”已经准备好使用了

abd@harvey-specter$c./添加个人cpp

Usage: ./add_person_cpp ADDRESS_BOOK_FILE 用法:./add_person_cpp ADDRESS_BOOK_FILE
希望它对Mac OS上的3.5.0有所帮助

我更改了Protobuf3.5.0的Makefile中的行。cpp编译

首先,我要说的是,我对这台机器没有sudo权限,无法在“通常”的位置进行安装,所以它位于~/local/lib,bin,include

    add_person_cpp: add_person.cc protoc_middleman
         #pkg-config --cflags protobuf  # fails if protobuf is not installed
         c++ add_person.cc addressbook.pb.cc -o add_person_cpp -lprotobuf -L~/local/lib -I~/local/include #`pkg-config --cflags --libs protobuf`

    list_people_cpp: list_people.cc protoc_middleman
         #pkg-config --cflags protobuf  # fails if protobuf is not installed
         c++ list_people.cc addressbook.pb.cc -o list_people_cpp -lprotobuf -L~/local/lib -I~/local/include #`pkg-config --cflags --libs protobuf`
[我在那里放了~(tilde),但在我的实际Makefile中我放了完整的路径…只是有点模糊。]

Java编译器的工作方式与宣传的一样


我不能使用python,因为获取pip或运行easy_install需要sudo。

请在Mac OS上的3.5.0上参考

我更改了Protobuf3.5.0的Makefile中的行。cpp编译

首先,我要说的是,我对这台机器没有sudo权限,无法在“通常”的位置进行安装,所以它位于~/local/lib,bin,include

    add_person_cpp: add_person.cc protoc_middleman
         #pkg-config --cflags protobuf  # fails if protobuf is not installed
         c++ add_person.cc addressbook.pb.cc -o add_person_cpp -lprotobuf -L~/local/lib -I~/local/include #`pkg-config --cflags --libs protobuf`

    list_people_cpp: list_people.cc protoc_middleman
         #pkg-config --cflags protobuf  # fails if protobuf is not installed
         c++ list_people.cc addressbook.pb.cc -o list_people_cpp -lprotobuf -L~/local/lib -I~/local/include #`pkg-config --cflags --libs protobuf`
[我在那里放了~(tilde),但在我的实际Makefile中我放了完整的路径…只是有点模糊。]

Java编译器的工作方式与宣传的一样

我不能使用python,因为获取pip或运行easy_install需要sudo