如何解决如何为 Windows 创建 ELF 格式的 .o 和 .a 文件以与 C++Builder 10.3.3 一起使用?
我正在使用 Embarcadero C++Builder 10.3.3,并希望将 OpenCV 与它一起使用。但是,预编译的 OpenCV 包是使用 Visual Studio 预编译的,它使用 COFF 格式。但是,C++Builder 64 位编译器使用 ELF 格式在 Windows 下,根据 Upgrading Existing C++ Projects to 64-bit Windows:
对象和库文件格式
- BCC32 及其相关工具在 .obj 和 .lib 文件中使用 OMF。
- BCC64 在 .o 和 .a 文件中使用 ELF。
当然,我尝试过用C++Builder编译OpenCV源代码,但是失败的很惨。谷歌搜索也没有找到任何真正有用的东西,除了其他人也没有成功。
有谁知道可以生成目标文件(.o
)和静态库(.a
)的CMake兼容编译器 for Windows 编译 OpenCV(适用于 Windows,不适用于 Linux,因为 BCC64.EXE 是 Windows 编译器)?
解决方法
我也在尝试将 OpenCV 与 C++Builder 结合使用(我无法写评论,因为这是我的第一个贡献!)。
我可以按照 Remy 的建议从预编译的 dll(\opencv\build\x64\vc15\bin 中的 opencv_world452.dll)使用 mkexp 创建 lib 文件。
但是我的头文件有问题:如何设置编译器接受语句#include "opencv2/core.hpp" 的包含路径? “core.hpp”也有这样的包含语句。那么,我们是否需要更改所有这些#includes(\ 而不是 /)?
作为一种解决方法,您可以尝试使用 Delphi-OpenCV 库 (https://github.com/Laex/Delphi-OpenCV) 或在 C++Builder 中安装 Python4Delphi 并通过 Python 使用 OpenCV。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。