【问题标题】:Fail to deploy arm64 complied boost in Intel based macOS using Conan无法使用 Conan 在基于 Intel 的 macOS 中部署 arm64 complied boost
【发布时间】:2022-12-06 13:57:11
【问题描述】:

在尝试为我的项目创建跨平台构建系统时,我在从 Conancenter 获取 boost 库时遇到了以下问题:

这是安装命令+配置

-- Conan executing: conan install /Users/me/myproj/conan.py --remote conancenter --build missing --settings build_type=Release --settings compiler=apple-clang --settings compiler.version=13.1 --settings compiler.libcxx=libc++
Configuration:
[settings]
arch=armv8
arch_build=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=13.1
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

这是我遇到的错误:

boost/1.79.0: WARN: Boost component 'stacktrace_addr2line' is missing libraries. Try building boost with '-o boost:without_stacktrace_addr2line'. (Option is not guaranteed to exist)
boost/1.79.0: WARN: Boost component 'stacktrace_backtrace' is missing libraries. Try building boost with '-o boost:without_stacktrace_backtrace'. (Option is not guaranteed to exist)
ERROR: boost/1.79.0: Error in package_info() method, line 1664
    raise ConanException("These libraries were expected to be built, but were not built: {}".format(non_built))
    ConanException: These libraries were expected to be built, but were not built: {'boost_stacktrace_backtrace', 'boost_stacktrace_addr2line'}

知道如何解决吗?

【问题讨论】:

  • 是否有更详细的构建日志;看起来某个组件的编译失败了,所以应该有一个编译日志?
  • 如果你正在做交叉建设,推荐的现代方式是使用“build”和“host”配置文件,比如--profile:build=default --profile:host=myarmprofile

标签: c++ boost conan


【解决方案1】:

如果您还在 boost 构建中看到错误,表明存在已找到但未打包的 boost 库,那么您的问题可能是您在 .conan/profile/default 中指定的编译器版本实际上与编译器报告的版本不匹配.正在发生的事情是 boost conan 配方需要预测构建库的文件名,如果它不正确,您将在包构建中看到错误,其中 1) 它说没有构建应该构建的库构建和 ​​2) 柯南构建发现未打包的库文件。因此,请使用以下命令检查您的 clang 版本:clang --version 并确保匹配。

【讨论】:

    猜你喜欢
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 2012-08-30
    • 2021-12-16
    相关资源
    最近更新 更多