首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

xmake v2.6.3 发布,支持 vcpkg 清单模式

我们能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...的清单模式实现 vcpkg 包的版本选择 python 模块构建支持 支持在 CMakeLists.txt 中集成 Xrepo/Xmake 包管理 剩下的主要是一些零散的功能改进和 Bugs 修复,可以看下文末的更新内容明细...新特性介绍 支持 Vcpkg 清单模式 新版本中,Xmake 新增了 vcpkg 清单模式支持,通过它,我们就能支持 vcpkg 包的版本选择,例如: add_requires("vcpkg::zlib...在 CMake 中使用 Xrepo 的依赖包管理 我们新增了一个独立项目 xrepo-cmake。 它是一个基于 Xrepo/Xmake 的 C/C++ 包管理器的 CMake 包装器。...更新内容 新特性 #1298: 支持 vcpkg 清单模式安装包,实现安装包的版本选择 #1896: 添加 python.library 规则去构建 pybind 模块,并且支持 soabi #1939

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

Xmake 和 CC++ 包管理

其实,现在已经有很多强大的 C/C++ 包管理器,最知名,用得最多的有:vcpkg, conan, conda 等等,它们虽然很强大,但是有一个共同的问题:构建工具对它们没有提供原生的支持。...在 CMake 中使用 Conan 在 CMake 中使用 conan 集成 C/C++ 包,我们需要提供额外的 CMake Wrapper 脚本,以类似插件的方式注入进自己的工程中去。...在 CMake 中使用 VcpkgCMake 中使用 vcpkg 集成包,我们也需要额外注入一个工具链脚本文件。 cmake -B [build directory] -S ....也仅仅在最近一年才通过清单模式勉强支持它。...使用调试版本的包 如果我们想同时源码调试依赖包,那么可以设置为使用debug版本的包(当然前提是这个包支持debug编译): add_requires("tbox", {debug = true}) 启用包的可选特性

2.9K10

重构基于CMake的构建工具链

其实现在已经有挺多C/C++的包管理系统了。比较主流的有 bazel, vcpkg 等。还有一些不太主流的比如 conan, build2, cget, spack 等等。...Vcpkg统一了包管理副本,而Conan需要用户自己负责包之间的兼容性和搭配。也可能多个包的依赖同一个包的不同版本,这在C/C++里十分危险。...显然易用性和安全性 vcpkg 好很多,而且基于 git 和 cmakevcpkg 也可以实现非常灵活的功能,但是 vcpkg 也有一些缺陷。...另外就是在不使用 vcpkg 或者 vcpkg安装某个依赖的时候,我会走自己内部的统一编译安装流程,并且预留了可以由上层应用来控制下载的源和版本号,甚至是一些编译参数。...以下是支持的环境(配置在CI测试中): 默认行为:启用cmake能够识别的编译器所支持的最新标准(当前最新会开启 C++20 和 C11)对支持的编译环境启用 C++20 协程支持对支持的编译环境启用

4.9K10

利用VScodecmake编译构建C++工程代码

当然本文并不是要详细讲解make、cmake等工具的使用,这篇文章主要是借助VSCODE这个非常灵活的平台,利用cmake工具完整地过一边代码,并且经过cmake处理编译后执行的过程。...正文 关于如何利用VScodeC++构建大型项目的教程,官方已经提供了一份关于C++的配置指南:https://code.visualstudio.com/docs/languages/cpp 但是这份配置指南仅仅适合比比较小型的项目...那么我们开始吧,首先我们创建一个测试文件夹,再打开VScode,然后添加一个main.cpp: 其中的代码来自于利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测,使用的库为OpenCV...下面这个插件是官方推荐的,在VScode端编写C++代码必备的插件: 我们安装后直接在VScode的工具台启动它: 这时候会在.vscode中生成一个配置文件c_cpp_properties.json...", 意思是我们C++的配置信息由之前的Cmake插件提供,这样之后,我们就可以在浏览代码中正常显示我们的头文件了(可以看到头文件下面没有绿色波浪线了): C++编译器在不同的操作平台上式不同的。

70170

简单的 CC++ 项目自动化构建--Xmake

能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...项目地址: GitHub - xmake-io/xmake: A cross-platform build utility based on Lua 增长趋势图, 比cmake简单好用,有超越cmake...运行下看看: $xmake run 运行和断点调试 我们可以通过xmake run -d命令来加载gdb/lldb调试程序,或者搭配xmake-vscode插件的断点调试支持,来开发和调试Qt程序。...vcpkg不支持语义版本选择,多版本管理。 都不支持项目管理和构建。 做过c、c++开发的朋友都会有找库的痛苦。...后来发现c、c++ 也有些包管理器,比如微软的Vpckg在visual studio下使用;conan 有可能成为事实标准的包管理器,配合cmake,应用还是比较广泛。

1.4K10

CC++ 构建系统,我用 xmake

CMakeVcpkg 我们先来看下 CMakeVcpkg 的集成支持: cmake_minimum_required(VERSION 3.0) project(test) find_package..." 不支持自动安装依赖包,还需要用户手动执行 vcpkg install xxx 命令安装 vcpkg 的语义版本选择不支持 (据说新版本开始支持了) CMake 和 Conan ```cmake cmake_minimum_required...XMake 自建包管理 XMake 跟 CMake 还有其他构建系统,最大的不同点,也就是最大的优势之一,就是它有完全自建的包管理系统,我们完全可以不依赖 vcpkg/conan,也可以快速集成依赖包,...因此,XMake 并没有破坏 C/C++ 生态,而是极大的复用现有 C/C++ 生态的基础上,努力改进用户对 C/C++ 依赖包的使用体验,提高开发效率,让用户能够拥有更多的时间去关注项目本身。.../cross-toolchain.cmake .. $ make 结语 如果你是 C/C++ 开发的新手,可以通过 XMake 快速上手入门 C/C++ 编译构建。

2K20

Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试

我们能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...目前,Xmake 主要用于 C/C++ 项目的构建,但是同时也支持其他 native 语言的构建,可以实现跟 C/C++ 进行混合编译,同时编译速度也是非常的快,可以跟 Ninja 持平。.../Meson + Vcpkg/Conan + distcc + ccache/sccache 项目源码 官方文档 入门课程 新特性介绍 新版本中,我们新增了 Xmake 自身源码的断点调试支持,这可以帮助贡献者更加快速的熟悉...这个时候,我们不要急着退出它,继续打开 VSCode,并在 VSCode 中打开 Xmake 的 Lua 脚本源码目录。...例如,我们可以通过命令行的方式去启用: $ xmake f --policies=build.sanitizer.address 也可以通过接口配置去全局启用: set_policy("build.sanitizer.address

21930

C++最佳实践 | 1. 工具

Conan[22] —— 跨平台C++依赖管理器 hunter[23] —— CMake驱动的跨平台包管理器,适用于C/C++ [C++ Archive Network (CPPAN)](https:/...的包管理器 build2[25] —— 类Cargo的C++包管理器 Buckaroo[26] —— 真正去中心化的跨平台依赖管理器,适用于C/C++等等 Vcpkg[27] —— 微软C++库管理器,...关于如何在基于C++ cmake的应用程序中启用的简单示例,请参考: https://github.com/ChaiScript/ChaiScript/blob/master/.travis.yml 启用覆盖工具...因此,应该启用所有警告: --enable=all。 备注: 为了正确工作,需要格式完整的头文件路径,所以在使用前不要忘记传递: --check-config。 查找使用的头文件时-j不能大于1。...在对一段代码禁用该警告后,请确保重新启用该警告,没人希望禁用的警告被泄露到其他代码中[82]。 测试 上面提到的CMake有一个用于执行测试的内置框架,请确保使用的任何构建系统都能够执行内置测试。

3.3K10

C++与lua的结合,LuaBridge的使用

C++和脚本结合使用是非常好的实践,这种用法提供了非常大的灵活度和自由空间。 脚本文件能够作配置文件和编写复杂的函数。更重要的一点是修改脚本文件后无需重新编译,它帮你提高效率。...附ps脚本: $VcpkgPath = "F:/vcpkg/scripts/buildsystems/vcpkg.cmake" #if (($result = Read-Host "Enter the...full path of vcpkg.cmake[default: F:/vcpkg/scripts/buildsystems/vcpkg.cmake]") -eq '') {} else {$VcpkgPath...c++类在lua的注册名,调用test方法 test_lua:test(3,4) --调用c++调用方法返回多个值 local ret1,ret2 = test_lua:cFunc() print("...+和Lua交互教程(基于LuaBridge)_CSDN云计算的博客-CSDN博客_luabridge C++反射:全方位解读Lura库的前世今生!

1.4K30

Golang语言情怀--第74期 区块链技术-比特币源码下载及编译环境配置

下载安装需要一段时间,下载安装类库我们选择C++即可;具体不懂可以群里交流。 在如上图的红框中我们,有个README.md文件,里面详细介绍了如何配置msvc环境。...【安装】(https://vcpkg.io/en/getting-started.html)vcpkg。 2.默认情况下,vcpkg为每个包生成'release'和'debug'版本。...为了节省构建时间和磁盘空间,可以跳过“debug”构建(示例使用PowerShell): 动力壳 添加内容-路径“vcpkg\triplets\x64 windows static.cmake”-值“set...要检查“bitcoind”是否启用或禁用了“RandomizedBaseAddress”,请运行 .\dumpbin。exe/headers src/bitconid。...exe文件 如果已启用,则在输出中,“Dynamic base”将列在“可选标头值”下的“DLL特性”中,如下所示 8160 DLL特性 高熵虚拟地址 动态基础 NX兼容 以上就是需要配置编译环境,我目前的

1.3K20
领券