OpenPose1.4.0-based Project Configuration
前期Example和Demo的安装与环境配置参见
【OpenPose-Windows】 OpenPose1.4.0+VS2017+CUDA9.2+cuDNN9.2+Windows配置教程
环境
操作系统:Windows 10 Enterprise x64
OpenPose:1.4.0
CUDA: cuda_9.2.148_win10
cuDNN:cudnn-9.2-windows10-x64-v7.2.1.38
Visual Studio:Visual Studio Enterprise 2017
步骤1:文件组织
在解决方案中新建项目【Windows控制台应用程序】,切换解决方案配置为Release,右击新建的项目设为启动项目,打开属性页备用。
具体步骤如下:
1. 项目文件夹
进入\$(SolutionDir)\$(ProjectDir)
(e.g. C:\Users\Skaldak\Documents\Visual Studio 2017\Projects\HIS\Posture 其中\HIS为解决方案路径 $(SolutionDir),\Posture 为项目路径 $(ProjectDir))
2. 动态链接库dll
将\openpose目录下\include文件夹,\models文件夹与\openpose\build目录(\build为CMake生成工程的目录)下的\bin文件夹拷贝至\$(SolutionDir)\$(ProjectDir)。将\openpose\build\x64\Release目录下的openpose.dll拷贝至\$(SolutionDir)\$(ProjectDir)\bin
3. 第三方3rdparty
在\$(SolutionDir)\$(ProjectDir)目录下新建\3rdparty文件夹,将\openpose\3rdparty\windows目录下的\caffe文件夹,\caffe_cpu文件夹,\caffe3rdparty文件夹与\opencv文件夹拷贝至\$(SolutionDir)\$(ProjectDir)\3rdparty
4. OpenPose静态库lib
在\$(SolutionDir)\$(ProjectDir)\3rdparty目录下新建\openpose文件夹,将\openpose\build\src\openpose\Release目录下的openpose.lib库拷贝至\$(SolutionDir)\$(ProjectDir)\3rdparty\openpose
最终文件结构如下:
- $(SolutionDir)
- $(ProjectDir)
- 3rdparty
- caffe
- caffe_cpu
- caffe3rdparty
- opencv
- openpose
- bin
- include
- models
- 3rdparty
- $(ProjectDir)
步骤2:属性配置
转到刚才备用的属性页,以下列出与默认配置所作改动:
常规>全程序优化>无全程序优化
调试>环境>
PATH=$(ProjectDir)bin;$(ProjectDir)3rdparty\caffe_cpu\bin;$(ProjectDir)3rdparty\opencv\x64\vc14\bin;$(ProjectDir)3rdparty\freeglut\bin;$(ProjectDir)3rdparty\spinnaker\bin;$(LocalDebuggerEnvironment)
注意这里不能<编辑..>然后一行行写,直接复制粘贴即可C/C++>
- 常规>
- 附加包含目录>
$(ProjectDir)3rdparty\opencv\include;$(ProjectDir)3rdparty\caffe_cpu\include;$(ProjectDir)3rdparty\caffe_cpu\include2;$(ProjectDir)3rdparty\caffe3rdparty\include\boost-1_61;$(ProjectDir)3rdparty\caffe3rdparty\include;$(ProjectDir)include;%(AdditionalIncludeDirectories)
- 多处理器编译>(是 (/MP))
- 附加包含目录>
- 优化>
- 优化>优化(优选速度) (/Ox)
- 优选大小或速度>代码速度优先 (/Ot)
- 预处理器>
(若使用CPU核显)
NDEBUG;USE_CAFFE;USE_CPU_ONLY;CPU_ONLY;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)
(若使用NVIDIA独显)
NDEBUG;USE_CAFFE;USE_CUDA;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)
- 语言>符合模式>否
- 预编译头>不使用预编译头
- 高级>编译为>编译为 C++ 代码 (/TP)
- 常规>
- 链接器>
- 常规>启用增量链接>否 (/INCREMENTAL:NO) (此项建议)
- 输入>附加依赖项>
$(ProjectDir)3rdparty\openpose\openpose.lib;$(ProjectDir)3rdparty\opencv\x64\vc14\lib\opencv_world310.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\gflags.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\glog.lib;$(ProjectDir)3rdparty\caffe_cpu\lib\caffe.lib;$(ProjectDir)3rdparty\caffe_cpu\lib\caffeproto.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\libboost_system-vc140-mt-1_61.lib;$(ProjectDir)3rdparty\caffe3rdparty\lib\libboost_filesystem-vc140-mt-1_61.lib;%(AdditionalDependencies)
步骤3:程序调试
打开之前CMake建立的解决方案OpenPose.sln,复制任意项目Source Files文件夹下cpp源文件的内容到我们新建的项目源文件中,可以正常运行。
以上属性配置有若干冗余,部分为建议选项。