玩转linux之meson(Ubuntu20.04)

最近发现好多程序采用meson工具进行编译:

  不说多了,我在down下代码后按照教程装上meson后有一系列的问题出现,

       先检查是否已经安装meson 

       使用: meson -v

      如果输出版本则卸载:

      sudo apt remove meson

     然后安装meson

     sudo apt install python3-pip

     sudo pip install meson         

下面是我以前照着网上教程写的,但是在我使用meson + ninja 安装代码时有可能会出现问题:解决方法放在上面吧,建议使用上述方法安装。

         使用系统安装的版本太低,达不到现有程序的编译要求,解决方法:

    系统安装方法 sudo apt install meson (这种是软件源所决定的,一般不会是最新版)

    最常见的一种方法是通过pip进行安装

    sudo apt install python3-pip

    pip3 install --user meson

    但是又有新的问题出现,系统找不到安装的这个版本,显示还是以前的版本,或者提示您未安装

    解决办法:

    添加环境变量

    环境变量添加方法:

    sudo vim /etc/profile

    在最后一行添加下面内容

       export PATH=~/.local/bin:$PATH

    保存退出:

    终端运行:

    source /etc/profile

    再次查找版本: meson -v

致此,解决。

    meson 工具一般跟 ninja工具一起使用,安装方法:

    git clone https://github.com/ninja-build/ninja.git

    cd ninja

    ./configure.py --bootstrap
    sudo cp ./ninja /usr/bin/

以一个小例程为例:

  创建一个c文件(main.c)

  #include <stdio.h>

  int main()

  {

    printf("hello meson\n");

    return 0;

 }

   在创建一个meson.build文件

project('hello', 'c')  # C语言工程

executable('demo', 'main.c') # target为demo 依赖 main.c

    

posted @   梦里花开一季  阅读(6294)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示