TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: A Modern C/C++ build tools (Simple, Fast, Cross-platform)

89 点作者 waruqi超过 5 年前

9 条评论

kstenerud超过 5 年前
I so badly want to get off the C&#x2F;C++ build system roller coaster. I&#x27;ve gone from make to autoconf to various IDEs to CMake to Meson, and have looked at a bunch of others but never made the jump.<p>Eventually fatigue sets in, you pick a tech, and stick with it even as the tech fades into obscurity and nobody can figure out how to build your project anymore, let alone integrate it :&#x2F;
评论 #21354696 未加载
评论 #21354681 未加载
Crinus超过 5 年前
I&#x27;m not sure how it differs from all the existing tools really, it looks like it does more or less the same stuff, just slightly differently. Also it does look like it requires that xmake is itself installed on the target system.<p>Personally i&#x27;d like something similar to autotools, only much saner, in that you write some sort of script (or definition file or whatever) that describes your project and its requirements and then the tool generates a configure shell script for unix and windows (i mean two configure scripts, one for unix and one for windows) that itself generates a makefile and&#x2F;or project file.<p>So, like autotools, the recipient of the code will not need to have your magic build tool installed, just the common tools available on their system (shell, make, cc for unix&#x2F;mingw, visual studio or whatever on windows). This can be very useful especially for libraries (it is annoying when every library wants its own special snowflake build tool).
评论 #21354155 未加载
waruqi超过 5 年前
Xmake has its own package management repository.<a href="https:&#x2F;&#x2F;github.com&#x2F;xmake-io&#x2F;xmake-repo" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;xmake-io&#x2F;xmake-repo</a><p>And it also supports self-built distributed repositories and third-party repositories (e.g. vcpkg, conan, clib, homebrew).<p><pre><code> add_requires(&quot;libuv master&quot;, &quot;ffmpeg&quot;, &quot;zlib 1.20.*&quot;) add_requires(&quot;tbox &gt;1.6.1&quot;, {optional = true, debug = true}) target(&quot;test&quot;) set_kind(&quot;shared&quot;) add_files(&quot;src&#x2F;*.c&quot;) add_packages(&quot;libuv&quot;, &quot;ffmpeg&quot;, &quot;tbox&quot;, &quot;zlib&quot;)</code></pre>
评论 #21352924 未加载
评论 #21358808 未加载
评论 #21351924 未加载
ensiferum超过 5 年前
Unfortunately no build tool can ever really <i>improve</i> productivity in absolute terms. They can only ever &quot;improve&quot; relatively, i.e by sucking less and reducing productivity less than some other competing build tools.<p>The time that is spent dicking around with these silly build systems&#x2F;tools is always time that is wasted and sank into useless activities without <i>any</i> value added in the end product.
评论 #21353647 未加载
jauer超过 5 年前
Looks cool, but is there a tl;dr for why I’d use this instead of something like Bazel?
评论 #21352872 未加载
评论 #21352670 未加载
ensiferum超过 5 年前
This tool is (again) just rehashing the same old build methods only with different syntax.<p>I&#x27;d really like to see a build tool that would take things to the next level.<p>- As a developer if I include &quot;foobar.h&quot; in my code, why do I have to workout the include paths myself? Why can&#x27;t the build system search for the file and resolve the include paths? If there are any unresolvable ambiquieties then ask me.<p>- As a developer if I use for example std::thread why do I need to add manually -pthread to my build &#x2F; linker flags. Why can&#x27;t the build system do this for me?<p>- As a developer if I use let&#x27;s say Win32 API in my code why do I have to manually add the linker libs and flags. Why can&#x27;t the build system do this for me?<p>- As a developer if I use c++14 features in my code, why do I need to manually add the -std=c++14 whatever flag in my build files? Why can&#x27;t the build system do this for me?<p>etc.<p>Everything else is just re-hashing the same old tiring build metdhologies with different syntax&#x2F;problems&#x2F;bugs&#x2F;shortcomings&#x2F;portability bugs.
评论 #21354758 未加载
评论 #21354066 未加载
pornel超过 5 年前
There are so many nice build tools for C, but unfortunately very few users will be happy to install and learn yet another tool.<p>And no matter which build system you choose, you&#x27;ll find users who think your choice is awful and you should have picked their one true build system.
tbfly超过 5 年前
Great tools, good job!
loose_pants超过 5 年前
Why not Python? Syntax is much cleaner and there’s nothing you can’t achieve. Even performance is on par.
评论 #21352646 未加载
评论 #21352598 未加载