C++ Builder 64 位的 OpenCV CMAKE 库扩展

问题描述 投票:0回答:2

我正在尝试在 Windows 10 上为 Rad Studio 10.2.3(C++ Builder 64 位)构建 OpenCV 3.2.0 库 我按照以下步骤使用 CMake 3.17.0:

https://github.com/IgorYunusov/OpenCV-RS

问题在于生成的库适用于 32 位应用程序 (.lib)。我需要 C++ Builder 64 位应用程序 (.a) 的库。 所以我首先将编译器更改为BCC64.exe,并在CMAKE GUI界面中添加了以下变量:

CMAKE_CXX_OUTPUT_EXTENSION  .o 
CMAKE_LINK_LIBRARY_SUFFIX   .a 
CMAKE_STATIC_LIBRARY_PREFIX  a 
CMAKE_STATIC_LIBRARY_SUFFIX .a 
CMAKE_FIND_LIBRARY_PREFIXES  a 
CMAKE_FIND_LIBRARY_SUFFIXES .a

但是当我在 Rad Studio 命令行上运行 make install 时,生成的库始终是 .lib 看来对于Windows,CMake总是会生成.lib文件? 那么,如何使用 GUI 配置 CMake,以便生成配置文件来构建 64 位 (.a) 库文件?

c++ opencv cmake
2个回答
1
投票

我想我找到了解决办法 我在 Windows-Embarcadero.cmake 文件中添加了以下 2 行,该文件已复制到 CMake 3.17 安装目录:

if(CMAKE_BASE_NAME STREQUAL "bcc64")
  set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
  set(CMAKE_OUTPUT_EXTENSION ".o")
endif()

现在我需要测试生成的.a库,看看它们是否真的是64位库!


0
投票

无需编译源码的替代方案: 从 x64 平台的 .dll 生成导入库:

mkexp.exe -p xxx.a xxx.dll

对于 x86 平台:

implib -a xxx.lib xxx.dll
© www.soinside.com 2019 - 2024. All rights reserved.