在编译libcaffe时,提示就是这个error MSB3721: 命令“”C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin\nvcc.exe” 后面跟了一大堆参数。这样的错误报了有100多个,看得人头大,我都什么也没动啊,说实话,这也要怪vs编译器,有时候不给力,错误爆出来不一定是根源,别被迷惑了,比如上面提到的错误是nvcc :一大串的字符,我之前就是搜这个关键字,找了半天都是解决不了,走的歪路有
1 先卸载了CUDA然后再装一次
2 换用管理员权限编译
3 移动文件夹路径
等等。无一可以解决。其实后来发现错误根源在于too few arguments,就是说有些caffe的函数少参数了!!!后面的100多个错误其实都是之前那个引起的。
只需要找到对应的函数,把最后的参数加上就好了。
双击错误提示,会跳转到错误函数。然后你去看看函数声明,一般是少了最后那个参数。
如果你不知道该加什么,一般你去翻翻函数声明就知道了。比如你很可能找的是这个函数cudnnSetConvolution2dDescriptor。最后少了个参数,放个浮点类型的宏就够了。
至此终于能愉快的编译成功了。(这个问题其实是依赖GPU,nvcc编译cu文件产生的,如果你不想用GPU版本也可以避开这个错误,但是还是解决比较好)