【caffe-Windows】windows下libcaffe调用过程中碰到的问题梳理;
2018-03-12 15:58
274 查看
目的:在caffe原有工程下设计了自己的检测函数,封装在libcaffe.lib内用于其他项目;
新建自己的工程,添加好附加库目录,附加依赖项,附加目录后,首先编译遇到的问题时缺少依赖项“boost_date_time-vc120-mt-1_59.lib”
我们看caffe-window的原有工程目录,
它依赖了很多第三方库NugetPackages,所有我们也需要添加NugetPackages在我们的工程中;网络上有许多设置方法,我在VS2013中没找到导入的方法,最后使用了一个非常“土”的办法:对比caffe.vcxproj和自己的Test.vcxproj,把caffe.vcxproj最下面关于NugetPackages依赖项的部分直接复制到.vcxproj中,重新加载即可,注意提前配号自己工程中NugetPackages的路径;
2.经过修改后,再次编译成功。启动单步调试,此时会报错缺少“*.dll”,去原caffe工程文件下,把需要的.dll都拷贝到自己生成的可执行文件(.exe)下,即可启动调试;
3.在调试中会出现类似“F0519 14:54:12.494139 14504 layer_factory.hpp:77] Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )”的错误,网上说要在相关层中添加包含extern INSTANTIATE_CLASS(InputLayer)的头文件文件等几种方法,均尝试无效后,最后使用这位博主的方法得到解决http://blog.csdn.net/LG1259156776/article/details/52542386
据该博客所说,因为vs下,若未使用的符号则不会链接到生成的静态库中,所有caffe的静态库中,存在未链接的部分;素有报该错误是该网络层存在,但未链接后,可以通过强行链接的方式进行解决;
在VS2013编译环境下,使用该博主的python,获取libcaffe.lib所有用到的符号,并制作成头文件强制链接;http://www.cnblogs.com/coderzh/p/LinkAllSymbols.html
python脚本https://github.com/coderzh/LinkAllSymbols;
将生成的头文件添加到自己的项目中。
4.进行强制链接后再次进行调试,依然有报错,这次是许多符号的重复定义,主要来自opencv内的报错。我通过对比符号名,将上一步生成的用于强制链接的头文件内重复链接的部分注释掉,即可运行;
整个过程耗时五天,,,,反复调试vs配置,网上方法尝试,python使用,,, -.-,加油吧,方法总比问题多;
新建自己的工程,添加好附加库目录,附加依赖项,附加目录后,首先编译遇到的问题时缺少依赖项“boost_date_time-vc120-mt-1_59.lib”
我们看caffe-window的原有工程目录,
它依赖了很多第三方库NugetPackages,所有我们也需要添加NugetPackages在我们的工程中;网络上有许多设置方法,我在VS2013中没找到导入的方法,最后使用了一个非常“土”的办法:对比caffe.vcxproj和自己的Test.vcxproj,把caffe.vcxproj最下面关于NugetPackages依赖项的部分直接复制到.vcxproj中,重新加载即可,注意提前配号自己工程中NugetPackages的路径;
2.经过修改后,再次编译成功。启动单步调试,此时会报错缺少“*.dll”,去原caffe工程文件下,把需要的.dll都拷贝到自己生成的可执行文件(.exe)下,即可启动调试;
3.在调试中会出现类似“F0519 14:54:12.494139 14504 layer_factory.hpp:77] Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )”的错误,网上说要在相关层中添加包含extern INSTANTIATE_CLASS(InputLayer)的头文件文件等几种方法,均尝试无效后,最后使用这位博主的方法得到解决http://blog.csdn.net/LG1259156776/article/details/52542386
据该博客所说,因为vs下,若未使用的符号则不会链接到生成的静态库中,所有caffe的静态库中,存在未链接的部分;素有报该错误是该网络层存在,但未链接后,可以通过强行链接的方式进行解决;
在VS2013编译环境下,使用该博主的python,获取libcaffe.lib所有用到的符号,并制作成头文件强制链接;http://www.cnblogs.com/coderzh/p/LinkAllSymbols.html
python脚本https://github.com/coderzh/LinkAllSymbols;
将生成的头文件添加到自己的项目中。
4.进行强制链接后再次进行调试,依然有报错,这次是许多符号的重复定义,主要来自opencv内的报错。我通过对比符号名,将上一步生成的用于强制链接的头文件内重复链接的部分注释掉,即可运行;
整个过程耗时五天,,,,反复调试vs配置,网上方法尝试,python使用,,, -.-,加油吧,方法总比问题多;
相关文章推荐
- 关于EF调用存储过程碰到的问题解决过程
- caffe安装过程中碰到的一些问题以及解决方案
- ADO.NET Entity Framework调用存储过程中碰到的问题
- Windows DLL中调用资源碰到的问题
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- 【Caffe】Windows下调用生成的classification.exe单张图片分类错误问题
- hibernate保存数据和调用存储过程数据事务不同步的问题
- VS2010 使用过程中碰到的一个DLL导入失败的问题
- mysql 安装过程中碰到的一些问题
- WebRTC编译过程中碰到的问题总结
- 【caffe】windows下让自己的程序调用caffe库
- Windows平台OpenGL函数调用过程
- ios 编译过程中碰到std::ios_base::Init::~Init()错误的问题解决方法
- Windows下构建和发布Python模块过程中遇到的问题
- 关于多态性的动态绑定问题, 对象调用方法的执行过程.
- WebRTC在Windows下的编译过程及常见问题处理
- 触发器调用带有参数的存储过程不能使数据同步的问题
- Windows下基于VS2013调用caffe的C++接口
- 关于caffe-windows中 compute_image_mean.exe出现的问题
- Ubuntu16.04+anaconda2+caffe+ssd+opencv3.1.0在编译caffe过程中的问题及解决方法 主要遇到三个问题,前两个是caffe在cmake过程中的问题,后一