【问题标题】:OpenCV in Borland C++ 2009Borland C++ 2009 中的 OpenCV
【发布时间】: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'

文件复合体中的等等。

我该如何解决这个问题?

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

    我认为您遇到的问题是 Borland 无法本地链接到 Visual C++ 库,如果您下载了 OpenCV 2.3 二进制构建,那就是您所拥有的。您可以尝试使用 Borland 的implib。请参阅此 StackOverflow 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?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多