配置环境:windows10 + vs2017 + opencv 3.4.0
vs2017中配置yolo方法见yolo3 + Windows + VS2017 + CUDA9.2 教程,介绍很详细,主要注意配置opencv的各种包含项并设置成release x64。教程配置yolo非常顺利,但笔者却遇到大量报错,且报错文件都是c++自带的头文件,如cmath, cstdlib等。
错误 C2054 在“using”之后应输入“(”
错误 C2061 语法错误: 标识符“using”
变量using不是类型名
各种百度发现没有人有相似情况,于是翻墙google。发现variable-using-is-a-not-a-type-name里说这种情况是由于在c++程序中错误引用c的头文件造成的,将<header> 改成 <header.h>可以解决问题。
include <string> // C++ header
include <string.h> // C header
include <cstring> // C++ 中引用C header
可yolo并没有发现有调用上述报错头文件,因此笔者猜测是opencv调用时出的问题。几经辗转最后发现问题是opencv版本过高,将3.4.4降为3.4.0即可解决问题。参考Can't compile on W10+VS2017。