Borland C++ 2009 中的 OpenCV

Posted

技术标签:

【中文标题】Borland C++ 2009 中的 OpenCV【英文标题】:OpenCV in Borland C++ 2009 【发布时间】:2011-11-01 12:33:17 【问题描述】:

当我尝试在 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'

文件复合体中的等等。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

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

所以,我建议使用 CMake 来构建带有 Borland C++ 目标的 OpenCV。这是 CMake 中的 GUI 截图。

查看this 构建指南。

【讨论】:

当我尝试在命令行“make”中写入时(在 CMAKE 之后)它在文件复杂中变成相同的错误.. 以前我尝试过使用 OpenCv b5a,一切都编译得很好。 您正在采取哪些步骤来构建 OpenCV 2.3.1? 我已经下载了 Cmake 2.8.6,安装并运行,选择了带有 make-files 的主目录 Opencv2.3.1 并选择了另一个目录来构建。然后在 Windows 中打开命令行,选择该目录并输入 make(导致 mingw32-make 不起作用),在命令行中出现同样的错误 不幸的是,我没有 C++ Builder 的副本,所以我无法帮助您进一步找出问题所在。您是否尝试过在 MinGW 或 Visual Studio C++ Express 中成功构建 OpenCV?

以上是关于Borland C++ 2009 中的 OpenCV的主要内容,如果未能解决你的问题,请参考以下文章

如何将外部 dll 库导入 Borland C++ 6?

从旧的 Borland C++ 迁移到 Visual C++ Express

Borland C++ Builder 6 上的奇怪链接器错误

如何从命令行为 Borland C++ Builder 5 构建项目文件和包?

Borland Builder C++ 6 中的 CoreAudio API

从 Paradox 到 Borland C++ 5 中的 SQL Server