首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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.9K30

    Xmake 和 CC++ 包管理

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

    3.5K10

    重构基于CMake的构建工具链

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

    5.9K10

    利用VScode和cmake编译构建C++工程代码

    当然本文并不是要详细讲解make、cmake等工具的使用,这篇文章主要是借助VSCODE这个非常灵活的平台,利用cmake工具完整地过一边代码,并且经过cmake处理编译后执行的过程。...正文 关于如何利用VScode和C++构建大型项目的教程,官方已经提供了一份关于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++编译器在不同的操作平台上式不同的。

    2.5K70

    简单的 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.9K10

    C++ 依赖管理三剑客:vcpkg、Conan、xmake 速查手册

    如果文章有任何不正确或者你觉得可以补充的建议,欢迎留言,我希望这篇文章可以成为后来人做选择时的速查手册面对复杂的C++依赖,选对工具能让你事半功倍。....项目集成示例(CMake)展开代码语言:TXTAI代码解释#CMakeLists.txt示例cmake_minimum_required(VERSION3.10)project(MyProject)#...--build=missing#4.构建(配合CMake)cmake.....项目改造渐进式方案:初期:保留CMake,用vcpkg管理依赖(通过工具链集成)中期:部分模块使用Conan管理,CMake+Conan混合长期:评估是否需要完全迁移到xmake(需重写构建配置)六、排错与优化...--jobs=8并行编译3.常见错误处理错误现象可能原因解决方案找不到包拼写错误或版本不存在使用工具搜索功能确认包名链接错误库版本与编译器不兼容检查库支持的编译器版本CMake找不到包工具链未正确传递确认

    44111

    GCC、CMake 和 vcpkg 的关系与应用

    三、vcpkg vcpkg 是一个微软开发的 C/C++ 包管理工具,用于管理和安装第三方库。它简化了第三方库的下载、编译和集成过程,支持 Windows、Linux 和 macOS。...四、三者关系 GCC 负责将源代码编译成可执行文件或库文件,它是 CMake 和 vcpkg 的基础工具;vcpkg 负责下载安装和管理第三方库,依赖于GCC来编译库文件;CMake 生成适合不同平台的构建文件...-B build -DCMAKE\_TOOLCHAIN\_FILE=vcpkg 路径/scripts/buildsystems/vcpkg.cmake cmake --build build 运行程序.../build/myapp 五、总结 工具 功能 用途 特点 GCC 编译器 编译 C/C++ 代码 开源、跨平台、直接编译 CMake 构建系统生成器 自动化构建过程,跨平台 生成构建文件,适合大型项目...vcpkg 包管理工具 管理第三方库 简化库的安装和集成 通过合理组合这些工具,开发者可以高效地开发和维护 C/C++ 项目。

    60520

    CMake构建学习笔记20-iconv库的构建

    vcpkg是微软开发的C/C++跨平台开源库管理工具,试用了一下,感觉确实比以前进步很多,如果不是像笔者一样有自己的需求,完全可以都使用vcpkg来安装依赖库。...另外,不知道vcpkg的机制是什么,vcpkg确实也使用了cmake来构建,因为生成了cmake的配置文件,可以直接被CMake项目集成使用。...因为vcpkg在安装iconv的时候,也安装了相应的cmake的配置文件,所以可以直接在CMakeLists.txt集成,关键配置代码是: # 项目代码设置为utf-8编码 if ("${CMAKE_CXX_COMPILER_ID...Intel C++") elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") message(">> using Visual Studio...如果是直接使用的vcpkg,那么需要将vcpkg集成到CMake搜索路径中: vcpkg integrate install 如果是像笔者一样,是将iconv复制到自己仓库中使用,那么需要在CMake的内置变量

    25910

    Java、Python、C++支持jenkins和SonarQube(四)

    6 C++与Jenkins和SonarQube 6.1单元测试Googletest及在Jenkins中的应用 GoogleTest 是 Google 开发的一个跨平台的 C++ 测试框架,用于编写和运行单元测试...安装与集成 1 安装方法 bash # 使用vcpkg vcpkg install gtest # 使用apt (Ubuntu) sudo apt install libgtest-dev # 使用源码编译...make && sudo make install 2 CMake集成示例 cmake find_package(GTest REQUIRED) add_executable(MyTests test1...主要检测能力 检测类型 典型问题示例 内存管理 内存泄漏、双重释放、空指针解引用 资源泄漏 文件描述符未关闭、数据库连接未释放 逻辑错误 死代码、无限循环、条件永远为真/假 API使用错误 memset...最佳实践建议 1.集成到CI/CD:在代码提交/合并时自动运行 2.渐进式启用:先启用基本检查,逐步增加规则 3.排除第三方代码:--suppress=*:external/* 4.定期更新:新版会持续改进检测能力

    39810

    openMVS安装教程

    安装openMVS 系统环境:windows10,git,vcpkg,cmake(后面三个没有安装的可自行百度,easy) 2.1 下载openMVS项目 openMVS项目链接 在本地随意一个位置输入...2.2 下载依赖库 使用vcpkg进行库的下载(vcpkg是c++库管理工具,类似于conda,windows下应该没有比vcpkg更好用的c++库管理工具了吧) vcpkg项目链接 点击链接,按照readme...\vcpkg integrate install # 这是告诉系统所有编译器你通过vcpkg安装的所有库的位置,之后写c++代码就可以直接include了,不需要 在手动设置库地址 2.3 安装cmake...下载cmake(自行百度安装,很简单) 安装完成后在cmd输入: # 目前你已进入openMVS目录 mkdir build(随便取一个名字,建议build或者make) cd build cmake...-DCMAKE_TOOLCHAIN_FILE=你的vcpkg安装路径\scripts\buildsystems\vcpkg.cmake 一般来说,这一步或多或少会遇到错误,我是由于cmake版本过高,CMakeList.txt

    48510

    CC++ 构建系统,我用 xmake

    CMake 和 Vcpkg 我们先来看下 CMake 和 Vcpkg 的集成支持: 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++ 编译构建。

    3.3K20
    领券