解决OpenPose重新编译失败问题(学习记录二)

OpenPose v1.3.0编译成功记录

问题记录

紧接肢体识别项目学习记录一

在学习记录一中,我虽然能实现用别人的release文件启动程序,检测图片中人物的肢体,也能打开摄像头实时的检测人物的肢体;但是进一步研究发现,如果想要修改源码,实现检测任意的图片、视频中人物的肢体会发现:不重新生成解决方案无法实现这一目的!!!!

问题一

我学习记录一中那个文件并不能在vs中重新编译成功,提示的错误主要就是两个
以下错误基于下图这个文件,官网里的1.3.0版本编译好的版本,非源代码
在这里插入图片描述
错误1,提示:错误 C2447 “{”: 缺少函数标题(是否是老式的形式表?)
解决方案
参考:https://blog.csdn.net/dongzibin/article/details/76911680
就是双击那个错误跳转到错误代码,将中括号{xxx}改成用小括号()来括起来

错误2,提示:很多文件打不开,但是检查一下路径发现有,但是编译器就是没办法定位到那个目录下打开文件,只有当你修改源码中头文件的地址时,那些错误才会消失,但是由于无法更改编译器工作目录来实现一键更改,需要手动修改三百多个头文件显然不现实。。。。于是另辟蹊径!!!

解决方案
从官网下载源代码
在这里插入图片描述
解压后得到有CMakeLists.txt的一个文件夹,如下图
在这里插入图片描述
安装cmake,(我用的是cmake3.9.0),运行
在这里插入图片描述
其中,source code路径设置成解压得到的文件夹
其中,生成文件路径设置成source code路径中build文件夹下(需要你新建一个)
然后点configure,弹出让你选择编译器,我安装的是vs2015,故选择
在这里插入图片描述
作为generator,注意是带win64的!!!
然后点击configure会出现一片红的,让你勾选需要的选项,不需要额外勾选,再次点击configure,会开始配置,这时如果你没有提前下载四个models和三个第三方库,它会在这一步在线下载,但是非常之慢,可以在我的**学习记录(一)**中提前下载好那些文件,放到指定文件夹,然后重新开始configure,发现瞬间就配置好了,然后generate,也是瞬间就OK了!!!!

然后在build文件下找到唯一的.sln文件,用vs打开,重新生成解决方案,然后你会发现又会碰到之前的那个错误C2247,解决方案参考本文开头部分接下去就是顺风顺水了,重新编译是妥妥的没问题!!!

最后,感谢我的指导老师!!!

发布了21 篇原创文章 · 获赞 4 · 访问量 787

猜你喜欢

转载自blog.csdn.net/u011025050/article/details/104034588