Status: New
Labels: Type-Defect Priority-Medium

New issue 276 by Windows paths should not be case sensitive for protoc command line.

What steps will reproduce the problem?
1. Write a proto file.
2. Call protoc using a case sensitivity difference for the --proto_path and the input file. For example:

protoc.exe --proto_path=c:\ExampleSln\src\ --cpp_out=c:\ExampleSln\src\ C:\ExampleSln\src\Proto\Dummy.proto

(Note the use of both "c:" and "C:")

What is the expected output? What do you see instead?

I expect the creation of and Dummy.pb.h. Instead, I get the following error message:

C:\ExampleSln\src\Proto\Dummy.proto: File does not reside within any path specified using --proto_path (or -I). You must specify a --proto_path which encompasses this file. Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it's harder than you think).

What version of the product are you using? On what operating system?

This was tested on version 2.4 of protoc on Windows XP.

Please provide any additional information below.

This is a particular problem because of .rules files in Visual Studio 2008. Attempting to generate files relative to a directory other than the directory containing the .proto files leads to a case mismatch because $(ProjectDir) and $(SolutionDir) use different cases for drive letters.

You received this message because you are subscribed to the Google Groups "Protocol 
Buffers" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

Reply via email to