由于学习opencv,要查看源码文件,所以要先对opencv进行编译,可悲的是出错了
“不能copy CMakeVSMacros2.vsmacros”
通过上网查找资料,之所以出现这种情况,是因为cmake不兼容中文。
解决办法:
以VS2008编译环境为例首先打开VS2008,打开"Tool"菜单->"Option..."->"projects and solutions"选项->"General";然后看看这个"Options"页面右边的"Projects location"; "User project templates location"; "Useritem templates location"这几个文本框下面是否出现包含有中文路径。如果有中文路径,问题的原因也就找到了。如果有中文路径的话,把这几个都改成只包含英文路径,似乎CMake不支持中文,VTK目前是不支持中文。这是因为在用CMake生成VTK.sln工程时,CMake要从vtk的源文件路径里复制一些文件,也就是上面错误所说的"CMakeVSMacros2.vsmacros"等文件到这个目录下,如果这个目录包含有中文,当然就出错了。
在我们安装完VS2008时,一般这几个文本框的路径默认的都会是"D:/我的文档/Visual Studio 2008/Projects"等,里面含有中文,然后你再用CMake生成VTK工程时就自然出错了。