【问题标题】:Building 32 bit application with 64 bit development environment使用 64 位开发环境构建 32 位应用程序
【发布时间】:2015-04-19 03:24:05
【问题描述】:

我正在使用 OpenCV 包为异构目标(windows/Mac/Linux - 32 位和 64 位)开发 C++ 代码。

构建我的 c++ 所需的库:

  1. 明文
  2. OPenCV 并且两者都是为 64 位构建的。

我能够在 64 位构建环境中生成 64 位 exe/dll/.so。(为 64 位构建 opencv 和 mingw),同样适用于 32 位。

是否可以在 Windows 中使用 Mingw 和 OpenCV 在 64 位开发环境中创建 32 位应用程序?这里需要注意的是,我的支持 sdk 或库是用 64 位构建的。

【问题讨论】:

  • 为什么不在论坛上问他们? answers.opencv.org/questions
  • 是的,您可以使用 MingW/OpenCV 构建 32 位 exe,但是不,如果没有 32 位 mingw 工具集/标准库/SDK 并同时构建 OpenCV 和您的应用程序,您将无法做到这一点它。我不确定这是否能回答你的问题:]
  • @stiji 所以你的意思是说,所有的支持包(Mingw 和 Opencv)都必须为 32 位构建
  • 确实如此。编译器为 32 位/64 位目标生成的代码不兼容。简化示例:32bit 代码中的指针通常为 4 个字节,但在 64 位代码中为 8 个字节。你不能指望它只是兼容。

标签: c++ opencv build mingw


【解决方案1】:

在针对 Win32 的 Win64 中,您可以通过从 here 安装正确的 mingw 包来做到这一点。

注意“针对 Win32 的工具链”。

例如,对于 4.9.2,您可以使用 this。 (我知道它适用于 OpenCV)

在您获得的 cmets 中,您还可以找到针对 Linux32 的 Linux64 解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多