windows-caffe下新建项目

从gitub上fork下来的windows-caffe的项目,我想基于windows-caffe开发一个小项目,使用VS2013编译,平台的配置过程如下
1、在caffe解决方案下新建一个项目

2、项目属性改为Release,x64

3、菜单栏=>工具=>Nuget程序包管理器=>管理解决方案的Nuget程序包,然后出现Nuget包管理界面,选择相应的包,=>管理,在相应的项目上打钩。这一步使用Nuget工具为项目添加openblas、opencv、boost等库。

4、设置头文件路径
项目-> 属性 -> 配置属性 -> VC++目录 -> 包含目录
C:\caffe-master\include

5、设置库文件路径
项目-> 属性 -> 配置属性 -> VC++目录 -> 库目录
C:\caffe-master\Build\x64\Release

6、设置库输入(这一步能防止无法解析的外符号错误)
项目-> 属性 -> 配置属性 -> 链接器 -> 输入 ->附加依赖项

libboost_date_time-vc120-mt-1_59.lib
libboost_filesystem-vc120-mt-1_59.lib
libboost_system-vc120-mt-1_59.lib
libglog.lib
libcaffe.lib
gflags.lib
gflags_nothreads.lib
hdf5.lib
hdf5_hl.lib
libprotobuf.lib
libopenblas.dll.a
Shlwapi.lib
opencv_core2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
LevelDb.lib
lmdb.lib
opencv_video2410.lib
opencv_objdetect2410.lib

7、项目 -> 属性 -> 配置属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> CPU_ONLY

8、项目 -> 属性 -> 配置属性 -> C/C++ -> 常规 -> 将警告视为错误 -> 否

dll问题
解决方案:去C:\caffe-master\Build\x64\Release复制相应的dll文件到项目文件夹下x64目录里

Unknown layer type问题
Unknown layer type
解决方案:
新建一个头文件,例如head.h,将他提示你没有的层的头文件包含进去,在添加类似于
extern INSTANTIATE_CLASS(InputLayer);//引用外部libcaffe编译单元的层的声明
REGISTER_LAYER_CLASS//注册layer,如果注册过该层,则不需要这行代码

解决方案
如果是单启动项目,那么在你重新生成解决方案的时候,只会运行单启动项目,其它项目不会运行,这就是为什么很多人编译以后发现Release或者Debug文件夹下只有caffe.exe而没有conver_imageset.exe等可执行文件的原因。

Nuget工具使用
在VS2013中,菜单栏=>工具=>Nuget程序包管理器=>管理解决方案的Nuget程序包,然后出现Nuget包管理界面,选择相应的包,点击管理,在相应的项目上打钩。之后发现,项目下多出一个package.config文件,文件内容是导入项目的包名。

无法解析的外部符号问题
原因都是链接器没有找到函数符号,要在项目属性页的链接器输入中,填写相应的lib,其中debug和release是不同的。release下的lib如上述第6步贴出的所示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值