当我尝试在Borland中使用OpenCv 2.3时,我将这些文件夹添加到项目中:

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'

等等。

我怎样才能解决这个问题?

最佳答案

我认为您遇到的问题是Borland无法本地链接到Visual C++库,如果您下载的是OpenCV 2.3二进制版本,这就是您所拥有的。您可以尝试使用Borland的implib。请参阅此StackOverflow answer。但是,我认为这有一个告诫,由于在DLL中使用类时Visual C++会破坏名称,因此代码只能是C代码。由于OpenCV确实使用了类,因此我怀疑implib是否可以工作。

因此,我建议使用CMake与Borland C++目标一起构建OpenCV。这是从CMake中获得的GUI捕获。

看看this构建指南。

关于c++ - Borland C++ 2009中的OpenCV,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7966505/

10-11 16:02