c语言项目,创建c程序

  c语言项目,创建c程序

  Xmake https://xmake.io/#/简介

  XMake是基于Lua的轻量级跨平台自动构建工具,支持在各种主流平台上构建项目。

  Xmake=构建后端项目生成器包管理器

  类似于cmake,automake,premake,但是机制不同。默认不生成IDE相关的工程文件,使用直接编译,更加方便易用。lua的工程描述语法更加简洁直观,支持在大多数常见平台上构建和交叉编译。

  已经有一个强大的cmake。xmake有什么好的?

  与makefile/CMakeLists.txt相比,配置语法更加简洁直观,对新手非常友好。可以在短时间内快速上手,使得用户可以将更多的精力集中在实际的项目开发上。

  可以用来直接编译Make/Ninja之类的项目,也可以用来生成CMake/Meson之类的工程文件。此外,它还内置了包管理系统,帮助用户解决C/C依赖库的集成使用问题。

  目前Xmake主要用于C/C项目的构建,但也支持其他原生语言的构建,可以实现与C/C的混合编译,同时编译速度也很快,可以和Ninja持平。

  Xmake的理念:真正的一致维护,真正的一键编译。

  构造行为的一致性:不管你的项目是有库依赖还是工具依赖,你只需要执行一个xmake命令就可以编译通过。

  维护的一致性:无论你的项目是针对windows,linux,iphone,android,你只需要一个xmake.lua维护项目。

  Cmake还需要生成额外的第三方IDE工程文件。即使cmakelist.txt相同,用户也不可能保证在构建和维护体验上完全一致。毕竟受限于vc/make之类的工具。

  项目地址:

  GitHub - xmake-io/xmake:基于Lua的跨平台构建工具

  增长趋势图,比cmake更简单易用,有超越cmake的潜力。这是一个由中国人自己开发并不断维护、发展和扩大的项目,前景很好。

  在windows下载下,安装软件包地址:

  https://github.com/xmake-io/xmake/releases

  或者用powershell。

  invoke-expression(invoke-webrequest 3359 xmake . io/PS get . text -usebasicparsing)。内容入门创建项目

  Xmake也完全支持Qt5项目的维护和建设。让我们举一个简单的介绍性例子:

  创建一个名为hello的C语言控制台项目(-l选项指定语言,如果是cpp,则为-l c):

  -P项目名(目录名)

  在执行$xmake create -l c -P ./hello之后,将会生成一个简单的工程结构:

  其中xmake.lua是项目描述文件,内容非常简单。告诉xmake添加全部。src目录中的c源文件:

  构建项目

  $xmake运行程序

  $xmake运行hello

  调试器

  $xmake run -d helloQT的项目创建了一个基于QT的项目,它也是在几秒钟内构建完成的。

  例如,要用qml创建一个空的quickapp项目,只需点击下面的命令:

  $ xmake create-tqt.quick app测试xmake会用xmake.lua生成一个qt项目,xmake.lua的内容也很简单。

  会自动检测你的qt原生安装环境并自动找到。当然,你也可以指定:

  $ xmake f-qt=/home/xxx/qtsdk或将其设置为全局路径,以避免每次编译器切换时都必须配置它:

  $ xmake g-Qt=/home/xxx/qtsdk除了增加了源文件之外,和前面的可执行程序项目基本相同。唯一不同的是set_kind(binary )被add_rules的内置Qt构建规则( qt.quickapp )所取代。

  实际上qt.quickapp规则最终设置的是二进制类型,只是在此基础上增加了一些只有qt才需要的额外构造规则,比如:特定链接、标志和includedirs等。

  让我们来看看:

  $xmake运行和断点调试我们可以通过xmake run -d命令加载gdb/lldb调试器,也可以借助xmake-vscode插件的断点调试支持开发调试Qt程序。你可以阅读之前的文章:xmake从初学者到精通3:运行和调试目标程序

  集成vcpkg包管理$ xmake f-vcpkg=f: \ vcpkg例如,加载以下库,xmake.lua示例:

  add _ requires( VC pkg:zlib 1 . 2 . 11 )

  目标(“测试”)

  add_files(src/*。c’)

  Add_packages(vcpkg:zlib )至于库加载柯南,需要下载exe文件。安装后,配置路径path,然后您可以使用以下内容:

  Add _ requires( Conan:poco/1 . 9 . 4 ,{alias= poco ,debug=true})添加代理。注意添加代理,这样可以快速访问github:

  $ xmake g-proxy _ PAC=github _ mirror . Lua关于包管理关于包管理,虽然有一些包管理工具如homebrew、vcpkg来解决这个问题,但是也有一定的局限性。

  例如:

  家酿不支持iphoneos,android,windows平台。Vcpkg不支持语义版本选择和多版本管理。不支持项目管理和建设。做过C和C开发的朋友都会有找库的痛苦。有时候要编译一个库,这个库依赖于其他库,我们需要自己去搜索,下载,解压,编译,安装。不同的平台有不同的编译方法。编译后,我们可能会发现所需库的版本与我们下载的不一致,所以我们必须从头开始。

  其他语言像java有maven管理依赖jar,js有npm管理包,rust有cargo。这些语言要么有大公司做后盾,要么有独立公司运营,所以包管理还是挺好的。

  C或C程序员更惨。没有统一的包管理,也没有大规模流行,所以我很久都不知道C和C有包管理器。后来发现C和C也有一些包管理器,比如微软在visual studio中使用的Vpckg柯南可能会成为事实上的标准包管理器,它仍然与cmake一起被广泛使用。

  至于柯南,柯南在过去的五年里成长了不少,现在有800多个图书馆可供使用。如果没有,你可以很容易地自己写一个,上传到自己的私有包管理服务器。c开发终于感觉像货物了。

  以xmake的包管理工具Xrepo为例:

  PS F:\ccode\test xrepo search zlib

  包名:

  zlib:

  - chromium_zlib-2022.02.22: zlib来自chromium(在xmake-repo中)

  - zlib-v1.2.11:一个非常漂亮却又非常低调的压缩库(在xmake-repo中)

  - zlib-ng-2.0.5: zlib替换,针对下一代系统进行了优化。(在xmake-repo中)

  PS F:\ ccode \ test x repo install zlib

  注意:安装或修改(m)这些软件包(传递-y跳过确认)?

  在xmake-repo中:

  - zlib v1.2.11 [vs_runtime:MT]

  请输入:y (y/n/m)

  y

  =安装zlib v1.2.11.okPS F:\ ccode \ test x repo list-repo

  全球存储库:

  VCP kg https://github.com/microsoft/vcpkg

  柯南https://github.com/conan-io/conan-center-index

  建筑-人工制品https://gitee.com/xmake-mirror/build-artifacts.git主

  xmake-repo https://gitee.com/tboox/xmake-repo.git主机

  builtin-repo D:\ Program Files \ xmake \ repository

  找到了5个存储库!

  PS F:\ ccode \ test xrepo RM-repo Conan

  移除全局库(柯南):好!在xmake.lua下写比较容易,加一句就行了:

  Add_requires(zlib 1.2.11 )也可以使用其他软件包管理器中的软件包,例如:

  add _ requires( VC pkg:zlib 1 . 2 . 11 )

  目标(“测试”)

  add_files(src/*。c’)

  Add _ packages (vcpkg: zlib )生成结果示例,xmake.lua添加以下库依赖项:

  add _ requires( Conan:poco/1 . 9 . 4 ,{alias= poco ,debug=true})构建过程:

  PS F:\ccode\test xmake

  正在检查Microsoft Visual Studio (x64)版本.2019

  注意:安装或修改(m)这些软件包(传递-y跳过确认)?

  在柯南中:

  -柯南:poco/1.9.4最新[debug:y,vs_runtime:MT]

  请输入:y (y/n/m)

  y

  =安装柯南:poco/1.9.4最新版.好的

  [ 25%]:编译.发布src\main.c

  [ 50%]:链接.释放test.exe

  [100%]:构建成功!c基础00-如何让程序运行?-知乎

  十分钟完成C/C项目自动化,构建—— Xmake初学者指南_蓝桥云课堂博客

  XMAKE,音频/视频/C /k8s/Docker等。学习笔记和看云

  Xmake自动构建工具-简介

  TBOOX开源项目

  Xmakequick XMake _w3cschool

  xmake

  Xmake v2.2.2,让C/C拥有其包依赖于_waruqi自动构造的博客。

  Xmake从初学者到精通6:开发和构建Qt程序

  如何评价xmake?-知乎

  xmake入门,构建一个项目可以这么简单_瓦鲁奇的博客xmake

  ,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: