2011-11-01 86 views
1

当我尝试在Borland公司使用OpenCV的2.3,我这些文件夹添加到项目中:OpenCV的在用Borland C++ 2009年

C:\Program Files\opencv2.3.1\build\include\opencv2 
C:\Program Files\opencv2.3.1\include\opencv 

,包括

opencv_core231.lib 
opencv_highgui231.lib 
opencv_video231.lib 
opencv_imgproc231.lib 

错误然后变成一堆

[BCC32 Error] complex(194): E2316 '_fm_atan2l' is not a member of 'std' 
[BCC32 Error] complex(199): E2316 '_fm_cosl' is not a member of 'std' 

等文件复杂。

我该如何解决这个问题?

回答

1

我认为你遇到的问题是Borland无法直接链接到Visual C++库,如果你下载了OpenCV 2.3二进制版本,那就是你所拥有的。你可以尝试使用Borland的implib。看到这个StackOverflow answer。不过,我认为这有一个警告,即代码只能是C代码,因为在DLL中使用类时,Visual C++损坏了名称。由于OpenCV使用类,我怀疑implib将工作。

因此,我建议使用CMake来构建OpenCV与Borland C++目标。这里是从CMake中看到的应用程序的GUI捕获。

CMake Borland target

看看this制作指南。

+0

当我试图写在命令行“make”(后CMAKE)它成为相同的错误文件复杂.. – fen1ksss

+0

在我的C + + Builder中有什么错误? – fen1ksss

+0

以前我试图使用OpenCV b5a,一切都编译好。 – fen1ksss