2011-12-01 80 views
0

我感覺有點厚,但是當我通過設在http://code.google.com/p/protobuf-c/wiki/Examples甚至連基本的實例運行,我不斷收到以下編譯錯誤:的Protobuf-C編譯問題

 
/tmp/cc19catp.o: In function `main': 
packit.c:(.text+0x13): undefined reference to `amessage__descriptor' 
packit.c:(.text+0xb6): undefined reference to `amessage__get_packed_size' 
packit.c:(.text+0xdb): undefined reference to `amessage__pack' 
collect2: ld returned 1 exit status 

我用下面的編譯命令:

gcc -o pack -lprotobuf-c packit.c

其他人有這個問題嗎?我覺得我錯過了一些基本的東西。

回答

2
gcc -o pack packit.c amessage.pb-c.c -lprotobuf-c 

您必須編譯並鏈接proto-c生成的代碼。

另外,一般來說,當foo取決於bar時,foo應在鏈接器命令中的bar之前。