Hasson Wong 2024-02-02 10:24 采纳率: 66.7%
浏览 5
已结题

使用meson交叉编译gst-plugins-base

编译报错:
Found Pkg-config: NO
Found CMake: NO
Run-time dependency x11 found: NO (tried pkgconfig and cmake)
Run-time dependency gio-2.0 found: NO
meson.build:311:10: ERROR: Dependency lookup for gio-2.0 with method 'pkgconfig' failed: Pkg-config binary for machine 1 not found. Giving up.
已经在执行setup前指定了依赖库的路径:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$pwd/gstreamer-1.22.9/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$pwd/libX11-1.8/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$pwd/glib-2.79.1/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$pwd/orc-0.4.34/lib/pkgconfig

是否meson不能这么用,需要怎么在脚本中导入搜索路径呢?

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-02 10:26
    关注

    引自免费微信小程序:皆我百晓生

    在使用Meson进行交叉编译时,你需要确保Meson能够找到正确的pkg-config工具以及相关的依赖库。你已经设置了PKG_CONFIG_PATH环境变量来包含所需的依赖库路径,但是Meson仍然报告找不到Pkg-config和相关依赖。

    根据错误信息,问题可能出在:

    1. 未正确配置交叉编译环境中的pkg-config Meson需要知道用于交叉编译的pkg-config二进制文件的位置。你需要设置PKG_CONFIG环境变量指向交叉编译工具链中的pkg-config,而不是仅仅设置PKG_CONFIG_PATH。例如:

      export PKG_CONFIG=<path_to_cross_compiler_pkg_config>
      
    2. 确保pkg-config能找到对应的.pc文件 检查你在PKG_CONFIG_PATH中指定的路径是否确实包含了所有依赖库的.pc文件,如gio-2.0.pc、gstreamer-1.0.pc等。

    3. Meson项目配置 在Meson构建脚本中(meson.build),你可以显式地为特定依赖项提供查找路径,例如:

      project('gst-plugins-base', 'c',
        meson_version: '>=0.50.0',
        default_options : ['cross_file=your_cross_file.txt']
      )
      
      # 显式设置pkgconfig搜索路径
      pkgconf = meson.get_compiler('cpp').find_external_tool('pkg-config')
      pkgconf.set_path('<path_to_pkgconfig>')
      
      dependency('gio-2.0', method : 'pkg-config')
      dependency('x11', method : 'pkg-config')
      # 其他依赖...
      
    4. 交叉编译配置文件 创建一个名为your_cross_file.txt的交叉编译配置文件,其中包含pkg-config和其他工具的路径:

      [binaries]
      c = '<path_to_cc>'
      cpp = '<path_to_cxx>'
      ar = '<path_to_ar>'
      strip = '<path_to_strip>'
      pkgconfig = '<path_to_pkg-config>'
      
    5. 验证依赖完整性 确保你的系统或交叉编译环境中已安装了所有必要的开发包,包括X11和GIO 2.0的相关开发库。

    在实际操作中,请替换上述代码中的<path_to_*>为你实际的路径。通过这些步骤,Meson应该能正确识别并找到所需的依赖库。如果还有其他问题,请检查Meson的日志输出以获取更详细的错误信息,并根据实际情况调整设置。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月10日
  • 已采纳回答 2月2日
  • 创建了问题 2月2日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口