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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。