首页 > 系统相关 >ubuntu上安装meson & 如何使用meson编译C代码

ubuntu上安装meson & 如何使用meson编译C代码

时间:2024-02-02 16:01:20浏览次数:45  
标签:编译 build ubuntu ninja meson 安装 python3

一· 搭建meson环境并简单编译:

1. 什么是meson

  Meson 旨在开发最具可用性和快速的构建系统。提供简单但强大的声明式语言用来描述构建。原生支持最新的工具和框架,如 Qt5 、代码覆盖率、单元测试和预编译头文件等。利用一组优化技术来快速变异代码,包括增量编译和完全编译。

 

2. 安装meson

   注意:meson安装前必须确认是否已经安装python3.5及以上版本;因为meson依赖于python3和ninja

   2.1 安装python3和ninja: sudo apt-get install python3 python3-pip ninja-build

   2.2 切换至python3:

         Ubuntu系统上一般默认安装了python2.7,因此如果安装了python3系统还是默认使用python2.7,因此需要切换至python3。

         sudo rm /usr/bin/python3
         sudo ln -s /usr/bin/python3.8 /usr/bin/python3

   2.3 安装meson:pip3 install --user meson

 

3. 编译C代码

3.1 下面写一个简单的程序(main.c):

     #include<stdio.h>

     int main(int argc, char **argv) {
     printf("Hello meson!.\n");
     return 0;
     }

 

3.2 创建文件meson.build,内容如下
      project('tutorial', 'c')
      executable('demo', 'main.c')

      

3.3 执行
      $ meson  build

      

 

3.4 进入 build目录,执行ninja
      $cd build&& ninja
      njnja 相当于 make, 所以上面会编译代码,生成可执行文件 demo.

      

 

 

3.5 编译完成

      $ ./demo
      

 

二· 编译开源代码

1. 查看是否支持meson编译   

   现在很多开源代码都转向meson进行构建和编译了,例如gsreamer,pulseaudio等这时候你可以在代码根目录下看到很meson.build文件,并且每个子目录页包含meson.build文件;

 

1. 查看支持哪些编译选项(哪些模块需要编译)

 #meson configure

 

from:https://www.cnblogs.com/grandblogs/p/12335925.html

 

标签:编译,build,ubuntu,ninja,meson,安装,python3
From: https://www.cnblogs.com/im18620660608/p/18003325

相关文章

  • Meson构建系统(一)
    关于Meson的中文参考资料比较少,比较全面的是Meson的官方网站(https://mesonbuild.com/)。本人在学习Meson的过程中,会总结一系列的文章来对Meson进行介绍。第一篇关于Meson的简单学习和使用,将按照如下三个问题展开:什么是Meson?Meson有什么特点?如何使用Meson?一、什么是MesonMeson(TheM......
  • 在ubuntu16.04下,源码编译安装特定版本的MongoDB PHP扩展
    背景:我的php项目在连接其他mongo库时报:Serveratxxx:27017reportswireversion5,butthisversionoflibmongocrequiresatleast6(MongoDB3.6)原因:本地MongoDBPHP扩展的版本过高解决方法:降低本地PHP扩展MongoDB版本,现在要降到mongodb-1.12.0版本步骤:1:下载......
  • 编译时process_begin: CreateProcess | mutex/condition_variable 报错的一种解决办法
    系统:win10目的:想跑一下wisper.cpp前置操作:把该项目git下来后打算make,一make就报错注意,图里其实有两种错误,第一种是process_begin:CreateProcess(NULL,xxx)failed,第二种是error:'thread'isnotamemberof'std'.第二种错误是因为mingw不支持thread库,但是官方有给过补丁,可......
  • 解决wsl ubuntu无法code .命令无法下载对应包的问题
    使用code.命令报错,原因:vscode.cdn.azure.cn已被弃用UpdatingVSCodeServertoversionb3e4e68a0bc097f0ae7907b217c1119af9e03435Removingpreviousinstallation...InstallingVSCodeServerforx64(b3e4e68a0bc097f0ae7907b217c1119af9e03435)Downloading:100%Fa......
  • Ubuntu开启允许root用户访问ssh
    1、编辑/etc/ssh/sshd_config文件vim/etc/ssh/sshd_config2、设置允许roo登录找到PermitRootLogin这个属性,默认是注释掉的,我们可以复制一行将其设置为yes即可。设置完成后记得:wq保存文件哦。3、重启ssh服务systemctlrestartssh参考链接:https://cloud.tence......
  • POCO编译报错:LNK1104 无法打开文件“libcrypto.lib”
    POCO编译报错1>LINK:fatalerrorLNK1104:无法打开文件“libcrypto.lib” 解决:1、项目  ->  属性  ->  C/C++ -> 常规 -> 附加包含目录,添加OPENSSL头文件路径C:\ProgramFiles\OpenSSL-Win64\include(OPENSSL安装路径) 2、项目  ->  属......
  • update for ubuntu software version
    1.addedkeywget-O-https://apt.kitware.com/keys/kitware-archive-latest.asc2>/dev/null|sudoapt-keyadd-2.addedrepositoryU20:sudoapt-add-repository-r'debhttps://apt.kitware.com/ubuntu/focalmain'U18:sudoapt-add-repository-r�......
  • Ubuntu开启22端口
    在Ubuntu中,开启22端口通常是为了远程连接设备或服务器。在本文中,我们将讨论如何在Ubuntu上开启22端口,并保持安全性。以下是开启22端口的步骤和一些有关远程连接的安全建议。一、安装SSH(SecureShell)要开启22端口,我们需要使用SSH协议。SSH提供了安全的远程连接,它通过加密通信来保......
  • gcc编译
    GCC的简单使用在终端使用下面的命令,可以生成可执行文件“a.out”。gccmain.c编译的时候也可以指定可执行文件的名字。使用下面的命令,可以生成名为run.exe的可执行文件。gccmain.c-orun.exe生成可执行文件之后,如何运行?输入命令./run.exe即可执行。 使用gcc-vmain.c......
  • Ubuntu安装docker
    aptupdateaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common添加Docker官方的GPG密钥:curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg添加Docke......