windows10下编译SSD cuda8.0 失败,cpuonly成功

最近又尝试了在windows10下编译SSD,无奈出现了很多错误。

参考网址:https://github.com/conner99/caffe

首先是需要VS2013,由于我是装了VS2015,所以打算半将半就用2015编译,然而2015打开下载nuget依赖包的时候就死机,无奈放弃,又装了VS2013


下载了caffe-ssd-microsoft之后复制path\to\caffe-ssd-microsoft\windows下的commonsettings.props.example文件为commonsettings.props

首先加载解决方案,在path\to\caffe-ssd-microsoft\windows下的caffe.sln

修改path\to\caffe-ssd-microsoft\windows下的commonsettings.props文件,主要修改的地方有:


1 cpuonly?

2 cuda

3cudnn

4python 路径(由于我只打算编译pycaffea的接口,编译matlab的自行修改)


打开后发现了问题,libcaffe和test_all项目不能加载,提示是找不到

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\cuda 8.0.props

这个文件,由于我是装过VS2015之后装过CUDA 8.0 的,2013是后面才装的,所以在2013的目录下面没有是很正常的

于是便参考了:

http://blog.csdn.net/lk274857347/article/details/53588049

的解决方案,复制缺失的文件到上述目录即可,该文件所在目录为:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions

然后编译libcaffe,出现142个错误。。。。




出现这些错误的原因可能是CUDA版本问题?我用的是CUDA8.0,按https://github.com/conner99/caffe的说法应该用CUDA7.5.难道使用8.0就不支持了吗,有待进一步考证。

而且还有个超长的错误:

错误 1931error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" --use-local-env --cl-version 2013 -ccbin "D:\Programs\VS2013\VC\bin\x86_amd64"  -I"G:\NugetPackages\lmdb-v120-clean.0.9.14.0\build\native\..\..\lib\native\include" -I"G:\NugetPackages\LevelDB-vc120.1.2.0.0\build\native\../..//build/native/include/" -I"G:\NugetPackages\protobuf-v120.2.6.1\build\native\../..//build/native/include/" -IG:\NugetPackages\glog.0.3.3.0\build\native\../..//build/native/include/ -IG:\NugetPackages\gflags.2.1.2.1\build\native\../..///build/native/include/ -IG:\NugetPackages\boost.1.59.0.0\build\native\..\..\lib\native\include\ -I"G:\NugetPackages\hdf5-v120-complete.1.8.15.2\build\native\..\..\lib\native\include" -IG:\NugetPackages\OpenBLAS.0.2.14.1\build\native\..\..\lib\native\include -IG:\NugetPackages\OpenCV.2.4.10\build\native\../../build/native/include/ -I"G:\caffe-ssd-microsoft-gpu\windows\libcaffe\\..\..\src\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"  -G -lineinfo  --keep-dir G:\caffe-ssd-microsoft-gpu\windows\..\Build\Int\libcaffe\x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static -Xcudafe "--diag_suppress=exception_spec_override_incompat --diag_suppress=useless_using_declaration --diag_suppress=field_without_dll_interface" -D_SCL_SECURE_NO_WARNINGS -DGFLAGS_DLL_DECL= -g   -DHAS_LMDB -DHAS_HDF5 -DHAS_OPENBLAS -DHAS_OPENCV -D_DEBUG -D_SCL_SECURE_NO_WARNINGS -DUSE_OPENCV -DUSE_LEVELDB -DUSE_LMDB -DWITH_PYTHON_LAYER -DBOOST_PYTHON_STATIC_LIB -DUSE_CUDNN -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W1 /nologo /Od /FS /Zi /RTC1 /MDd " -o G:\caffe-ssd-microsoft-gpu\windows\..\Build\Int\libcaffe\x64\Debug\detection_output_layer.cu.obj "G:\caffe-ssd-microsoft-gpu\src\caffe\layers\detection_output_layer.cu"”已退出,返回代码为 2。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets6899 libcaffe



至于为什么出现这样的错误,还没有找到原因。可能还是CUDA版本的问题吧。


这个问题实在是心太累,遂放弃,打算编译CPUONLY的SSD:


1. 修改commonsettings.props文件,



然后先编译libcaffe这一个项目,设置”视警告为错误“为”否“,编译,出现了一个错误,还算走运:

缺少include\caffe\3rdparty\hungarian.h文件和scr\caffe\3rdparty\hungarian.cpp文件,解决方法参照了:

http://blog.csdn.net/buaalei/article/details/54668507

的方法,下载文章中的网盘文件,这个文件里对应的目录里面就有缺失的文件,所以复制指定文件夹到自己的文件路径就行了。

再编译,通过。

然后再编译整个解决方案,无报错。

VS编译太慢了。。。。。




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值