当前位置: 首页 > news >正文

C/C++:conan包管理工具的使用

官网 https://conan.io/
中文 https://conan.org.cn/

安装conan(以macos为例)

brew install conanconan --version
Conan version 2.7.1

项目结构

.
├── CMakeLists.txt
├── conanfile.txt
└── src└── main.c

conanfile.txt

可以参考:https://conan.io/center/recipes/json-c

[requires]
json-c/0.14
[generators]
CMakeDeps
CMakeToolchain

CMakeLists.txt

cmake_minimum_required(VERSION 3.15)
project(compressor C)find_package(json-c REQUIRED)add_executable(${PROJECT_NAME} src/main.c)
target_link_libraries(${PROJECT_NAME} json-c::json-c)

main.c

#include <stdio.h>
#include "json.h"int main(int argc, char const *argv[])
{// Create a new JSON objectjson_object *jobj = json_object_new_object();// Add some data to the JSON objectjson_object_object_add(jobj, "name", json_object_new_string("John Doe"));json_object_object_add(jobj, "age", json_object_new_int(30));// Convert JSON object to stringconst char *jstr = json_object_to_json_string(jobj);printf("JSON string: %s\n", jstr);// Free the JSON objectjson_object_put(jobj);return 0;
}
$ conan install . --output-folder=build --build=missing
$ cd build
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
$ cmake --build .
$ ./compressor

输出结果

JSON string: { "name": "John Doe", "age": 30 }

参考文章

https://github.com/json-c/json-c

https://docs.conan.io/2/tutorial/consuming_packages/build_simple_cmake_project.html


http://www.mrgr.cn/news/92754.html

相关文章:

  • 音乐游戏Drummania(GITADORA)模拟器
  • sqli-lab
  • 设置同一个局域网内远程桌面Ubuntu
  • 工程化与框架系列(11)--Serverless实践
  • 【朝夕教育】《鸿蒙原生应用开发从零基础到多实战》004-TypeScript 中的泛型
  • 【Linux】Linux的基本指令(3)
  • 【计算机网络】IP协议
  • 2继续NTS库学习(读取shapefile)
  • Unity TMPro显示中文字体
  • 【通俗讲解电子电路】——从零开始理解生活中的电路(一)
  • Windows对比MacOS
  • 【01游戏——DFS】
  • 使用Semantic Kernel:对DeepSeek添加自定义插件
  • 【AI深度学习基础】NumPy完全指南入门篇:核心功能与工程实践(含完整代码)
  • 工程化与框架系列(4)--Webpack 高级配置详解
  • 大模型WebUI:Gradio全解12——LangChain原理、架构和组件(2)
  • 【Linux第一弹】Linux基础指令(上)
  • BIO、NIO、AIO、Netty从简单理解到使用
  • 【DeepSeek】本地部署,保姆级教程
  • Python 数据结构 2.时间复杂度和空间复杂度