由于甲方那边的编译环境是VS2010,没办法,只能把自己的笔记本装上vs2010的程序,opencv也需要重新配置。
在path变量中添加了新的路径……\opencv\build\x86\vc10\bin和……\opencv\build\x64\vc10\bin。
程序编译通过,却在运行时遇到很多奇怪的问题,在2013中绝对没有遇到过。所以应该是配置上的问题。
按照这篇博客:https://www.cnblogs.com/codingmengmeng/p/7253143.html 把vc10的路径挪到最前面了,还是不行。
仔细检查path发现,最开始的一条写的是systemroot,所以去C:\Windows下查看,发现自己不知道什么时候把opencv2410 vc12 的所有动态库dll文件放到该目录下了,可能程序在执行的时候,在这个文件夹里找到了相关的命令,就不去其他地方找了。理由如下:PATH是路径的意思,PATH环境变量中存放的值,就是一连串的路径。不同的路径之间,用英文的分号间隔开。系统在执行用户命令时,若用户未给出绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件等。若找不到,再依次在PATH保存的这些路径中寻找相应的可执行程序文件(windows环境变量的查找顺序是按照文件的录入顺序从前往后寻找的,最前面一条的优先级最高,如果找到命令就不会再向后找了)。
所以,把windows文件夹里的所有opencv vc12的dll文件换成vc10的就好啦,程序运行成功。