title: The path in protobuf
body: <p>I don't quite understand the path in protobuf. My file layout like this:</p>
  
  <ul>
  <li>Top
  <ul>
  <li>A
  <ul>
  <li>a.proto</li>
  </ul></li>
  <li>B</li>
  <li>C
  <ul>
  <li>c.proto   // <code>import "A/a.proto";</code></li>
  </ul></li>
  </ul></li>
  </ul>
  
  <p>I have written an RPC system based on protobuf and I need generate two kinds of files(client and server code) from <code>c.proto</code>. Client code should be placed in B and Server code still in C.</p>
  
  <p>I can't write a correct command. </p>
  
  <p><code>Top&gt; protoc -I=. --client_out=./B/ C/c.proto</code> will generate client code in <code>B/C</code> and the <code>#include</code> in code will have a wrong path. </p>
  
  <p><code>Top/C&gt; protoc -I=../ -I=./ --client_out=./ ./c.proto</code> lead a <code>protobuf_AddDesc_*</code> error.</p>