convert_imageset.exe的生成

也不知道是不是自己太愚钝,所有由convert_imageset.cpp生成convert_imageset.exe的就一句话带过,而且还用了半个上午的时间。

弄完以后看看确实不难,但是思路却是很重要的。自己走入了莫大的误区。

首先是误区总结:尝试把convert_imageset.cpp单独生成

受到网上资料的误导,尝试着去单独编译cpp文件,自然报了无数的错,主要是include各类文件找不到。可不是吗!本身就应该在Caffe环境内编译生成的文件怎么可能单独拿出来跑。事实上,convert_imageset.cpp和caffe.cpp是一样的,两个都包含main入口,所以只需要把caffe删掉,换成convert_imageset就可以在caffe环境中跑了,而不需要为了跑起来这个cpp单独配无数个文件。

需要讲明白的是,convert_imageset本身是一个工具,这个工具和caffe.cpp地位是一样的,他的作用是将图片转为lmdb格式,传给caffe去训练。


然后,遇到了第二个小问题。编译时出现 error C3861: “snprintf”: 找不到标识符

网上搜到的解决方案

[code]在使用VSS2013编译C++程序时,当调用stdio.h库时,比如调用以下函数:

[code]会出现以下错误:
error C3861: “snprintf”:  找不到标识符

原因是:
snprintf()函数并不是标准c/c++中规定的函数,所以在许多编译器中,厂商提供了其相应的实现的版本。
在gcc中,该函数名称就snprintf(),而在VS中称为_snprintf。

解决方法(二者选其一即可):
1.将snprintf时改成_snprintf
2.在预编译处加入:
[code]#if _MSC_VER
[code]#define snprintf _snprintf
[code]#endif

总自以为是的认为这个错误是不可能有这么幼稚的解决方式,然而事实证明我又错了,在snprintf前面加一个_,一切就解决了。

目前为止还没有成功使用这个exe,下次有时间再试试。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值