解决openpose msb6006 cmd.exe exit code 1错误

环境描述:win10 cmake vs2015 openpose1.5.1源码 cuda10.1 rtx2060

目的:在Windows上部署Openpose

问题:编译Openpose.lib报错,错误内容如题。

解决:

1. 刚开始不了解问题出处,一顿乱Google、bing,都没有找到解决办法。后来在”输出“详情中发现了一行:

 "nvcc fatal 32 bit compiation is only supported for vs2013 and earlier",这才是问题所在。

2. 再搜索这个问题的原因,https://devtalk.nvidia.com/default/topic/1029290/gvdb-voxels/-solved-nvcc-defaults-to-32-bit-compilation/的这句话提醒了我:

解决openpose msb6006 cmd.exe exit code 1错误

于是,在cmake 选择编译器的时候,在第二行多选择了一句,如下图:

解决openpose msb6006 cmd.exe exit code 1错误

3. 问题解决,在vs中无论是选择release\debug平台,抑或是win32\x64编译,都不会再报错。

4. 补充:刚开始以为是cuda版本等的问题,但是在ubuntu中相同的cuda 版本 都可以编译通过。

    另外,其中用到的一些第三方库或者模型等,不要使用作者提供的.bat进行下载,特别慢,直接将里面的连接copy出来使用迅雷进行下载