在使用VS2010 C#安装OpenCV时(通过“cmake错误:配置文件中出错。项目文件可能无效”?)

时间:2012-06-22 01:45:46

标签: c# visual-studio-2010 opencv cmake

我已经花了很长时间试图安装openCV。我正在使用Windows 7,VS2010 C#Express和cmake 2.8.8。对于在线发现的所有教程,只需要指定源代码路径(理解为提取opencv文件夹的路径),然后指定二进制路径(理解为构建openCV源代码的位置,可能是新目录)。问题是填充源代码和二进制文件的路径后,点击“配置”错误

“cmake错误:配置文件出错。项目文件可能无效”

发生。有关更详细的错误日志,显示如下:

CMake错误:无法打开文件进行写入:C:/ Program Files(x86)/opencv/build/CMakeCache.txt.tmp CMake错误:CMake无法找到与“Visual Studio 10”对应的构建程序。未设置CMAKE_MAKE_PROGRAM。您可能需要选择其他构建工具。 CMake错误:无法找到cmake模块文件:C:/ Program Files(x86)/opencv/build/CMakeFiles/CMakeCXXCompiler.cmake CMake错误:找不到cmake模块文件:C:/ Program Files(x86)/opencv/build/CMakeFiles/CMakeCCompiler.cmake 配置不完整,发生错误! CMake错误:无法打开文件进行写入:C:/ Program Files(x86)/opencv/build/CMakeCache.txt.tmp CMake错误::系统错误:权限被拒绝 CMake错误:无法打开缓存文件进行保存。 C:/ Program Files(x86)/opencv/build/CMakeCache.txt CMake错误::系统错误:权限被拒绝 CMake错误::系统错误:没有这样的文件或目录 CMake错误:无法打开缓存文件进行保存。 C:/ Program Files(x86)/opencv/build/CMakeCache.txt CMake错误::系统错误:没有这样的文件或目录


我从网上消化的猜测是,可能与cmake和opencv不兼容(cmake安装为x86; opencv为x64bit)因此我重新下载openCV用于32位版本(我在64位PC上运行)虽然)但仍然没有进展(它仍然不会配置导致错误)。 这是我安装的那个(win32后缀为1)以供参考http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.1/

值得一提的是,在提取openCV时出现了大量“无法打开文件...”的消息(例如“无法打开输出文件目录到这里 \ opencv_objdetect240.dll” )。这似乎适用于所有文件(就我记得几乎在每一行中的错误重复,同时提取,每行不同的文件)。

这是我第一次遇到cmake,因此我并不熟悉这些步骤。我找到了一些指向“CMakeLists.txt”的指令(已经包含在提取的文件夹中),但是没有完全理解它们。一个相当详细的参考是http://thebitbangtheory.wordpress.com/2011/10/24/how-to-use-cmake-with-opencv/。但是我觉得步骤不够详细(即步骤3-6)。对于像我这样的cmake新手来说,模糊性是“项目”所指的,是不是一次能够编译包含opencv的所有C#项目?

在上述背景下的所有情况下,问题是:如何将openCV安装到VS2010 C#,克服cmake配置错误(或者如何解决这样的错误)?


注意:

  • 我没有可靠地记录初步的确切措辞 错误(在重新提取32位版本之前),但它是 我记得当时正在发生的情况,如上所述。
  • 我意识到有一个类似标题的问题(cmake error:Error in configuration files. Project Files may be invalid); 但答案似乎不符合特定情况;然后 再次,我可能是错的。

非常感谢你的时间。

2 个答案:

答案 0 :(得分:0)

OpenCV是一个C ++项目。并且无法使用VS2010 C#进行编译。

如果想使用C#进行开发,那么请查看包含OpenCV for C#/ .Net的EmguCV项目。

答案 1 :(得分:0)

您的问题是您在C:/ Program Files(x86)/ opencv /中安装了openCV。尝试在C:/ opencv /中安装,一切都会正常工作。由于Program Files(x86)文件夹受到保护,并且没有文件可以修改,因此cmake不起作用。