Tim*_*m B 4 java eclipse protocol-buffers
我有一个现有的eclipse项目,包括谷歌协议缓冲区.我正在尝试.proto在新文件夹中添加新文件,然后将其包含.proto在原始文件夹中.
当我尝试构建这个时,我得到:
..\shared\PanicShared.proto:虚拟路径中不允许使用反斜杠,连续斜杠,"."或".."
如何.proto在eclipse中引用另一个文件夹中的另一个?如果我使用绝对文件路径,那么项目将不可移植.
如果我只导入没有路径的"PanicShared.proto",那么导入行本身不会出错但是在PanicShared.proto中我有:
enum PanicLevel {
NORMAL = 0;
etc.
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在另一条消息中使用它时:
import "PanicShared.proto";
message PanicPremium {
repeated PanicLevel panicPremiumLevels = 11;
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
[protoc] PanicPremium.proto:9:12:"PanicLevel"未定义.
[protoc] [libprotobuf警告google/protobuf/descriptor.cc:5411]警告:>未使用的导入:"PanicPremium.proto"导入未使用的"PanicShared.proto".
我通常通过做亲戚包括来解决这个问题.
所以如果这是我的结构:
project
+- dir1
+- file1.proto
+- dir2
+- file2.proto
Run Code Online (Sandbox Code Playgroud)
我想file1.proto包括file2.proto我做的:
protoc -I ../dir2 <other args you need> file1.proto
Run Code Online (Sandbox Code Playgroud)
在file1中它会说:
import "file2.proto";
Run Code Online (Sandbox Code Playgroud)
这是我的机器上的一个经过实例的例子:
$ find `pwd` -type f
/tmp/so/shared/PanicShared.proto
/tmp/so/main/Main.proto
$ cat /tmp/so/shared/PanicShared.proto
enum PanicLevel {
NORMAL = 0;
}
$ cat /tmp/so/main/Main.proto
import "PanicShared.proto";
message PanicPremium {
repeated PanicLevel panicPremiumLevels = 11;
}
$ cd /tmp/so/shared
$ protoc -I . PanicShared.proto --cpp_out=.
$ g++ PanicShared.pb.cc -c -o PanicShared.pb.o
$ cd /tmp/so/main
$ protoc -I . -I ../shared Main.proto --cpp_out=.
$ g++ Main.pb.cc -c -o Main.pb.o -I ../shared
$ protoc --version
libprotoc 2.5.0
$ cd /tmp/so/
$ find `pwd` -type f
/tmp/so/shared/PanicShared.pb.cc
/tmp/so/shared/PanicShared.proto
/tmp/so/shared/PanicShared.pb.h
/tmp/so/shared/PanicShared.pb.o
/tmp/so/main/Main.pb.o
/tmp/so/main/Main.pb.h
/tmp/so/main/Main.proto
/tmp/so/main/Main.pb.cc
Run Code Online (Sandbox Code Playgroud)
实际上有两个问题导致此失败。
第一个是我需要将文件添加到包含路径,然后仅使用文件的非限定名称(即“PanicShared.proto”)。
第二个是,由于某种原因,我需要限定对象的名称以从该文件引用它们。即shared.proto.PanicPremiumLevel不是PanicPremiumLevel。
| 归档时间: |
|
| 查看次数: |
2954 次 |
| 最近记录: |