欢迎转载!转载时请注明出处:http://write.blog.csdn.net/postedit/8195159
真是为这个问题纠结了我一两天,查了各种资料,根据网上资料,和我现在的结论是一样的...路径映射的问题..
就拿我最近在研究Google Protocol Buffer,需要用cygwin编译一个.proto的后缀helloworld.proto文件
helloworld.proto的目录:C:\Users\Potter\Documents\work\Protocol Buffer\protobuf-2.4.1\src(放在我的这个目录下)
我们直接打开cygwin,然后我利用如下命令来编译他。如下:
我用红线画出来的路径确实是正确的,用cd 也是可以直接cd进去的,为什么就是提示No such file or directory 呢?
如果你看得仔细的话,会发现我上图中,还框出了一个Potter@Potter-PC ~没错,就是这个地方的问题,cygwin需要我们输入的是相对路径...
如果补全路径就是这样的了:/home/Potter/cygdrive/c/Users/Potter/Documents/work/Protocol\ Buffer/protobuf-2.4.1/src/ 就是这样了
其实前面这/home/Potter就是我们的cygwin模拟的linux的根目录了...
说了这么久,那我们怎么直接用呢?
解决方法一:
cd 到helloworld.proto 的根目录 然后运行:
没有提示,基本上就是编译成功了...
没有搞错,万一我包含的文件,不是这个目录下怎么办?
解决方法二:
将其包含的文件和要编译的文件放在同一个磁盘总可以吧~ 如果是在不同的磁盘,那样引用我暂时也不知道cygwin 是怎么写的了,知道的朋友请告诉我,感谢~
输入方式如下图:
ok 生成成功~ 其实方法二和方法一是一样的,只是我想说明的是,先cd到同盘符的根目录,如我这里的c盘...然后在这样写,就方便编写编译了~
疑问:cygwin引用不同的磁盘是如何输入的,有知道的朋友请告诉我喔~ 感谢了
好了,明天早上我还要去爬山呢~ 得养一下精神了,睡了~ 呵呵~
感谢大家阅览我的博文,希望也能看到大家留下的脚印...呵呵!
如果讲述得有误,或者不对的地方,还望各位指出!