【小沐学C++】C/C++包管理工具Conan使用(C++、Python、CMake、Conan)
创始人
2024-11-06 14:05:53
0

文章目录

  • 1、简介
  • 2、Conan下载安装
  • 3、Conan命令
    • 3.1 查看conan版本
    • 3.2 更新conan库
    • 3.3 搜索软件包
    • 3.4 显示conan所有源
    • 3.5 查看软件包
    • 3.6 通过conanfile.txt安装依赖包
  • 结语

在这里插入图片描述

1、简介

Conan是C和C++语言的依赖项和包管理器。它是免费和开源的,适用于所有平台(Windows、Linux、OSX、FreeBSD、Solaris等),可用于开发所有目标,包括嵌入式、移动(iOS、Android)和裸机。它还集成了所有构建系统,如CMake、Visual Studio(MSBuild)、Makefiles、SCons等,包括专有系统。

  • Conan仓库地址
    https://conan.io/center
    在这里插入图片描述

  • Conan源码地址
    https://github.com/conan-io/conan
    在这里插入图片描述

  • Conan帮助文档
    https://docs.conan.io/2/
    在这里插入图片描述

Conan是一个具有客户端-服务器架构的去中心化包管理器。这意味着客户端可以从不同的服务器(“remotes”)获取包,也可以将包上传到不同的服务器,类似于到git remotes的“git”推拉模型。
在这里插入图片描述

2、Conan下载安装

在这里插入图片描述
Conan 基于 Python 编写,在开始前安装好 Python3。然后使用pip 安装即可。

  • 安装库
pip install conan 

在这里插入图片描述

3、Conan命令

Conan客户端常用命令如下:

3.1 查看conan版本

conan --version 

在这里插入图片描述

3.2 更新conan库

pip install conan --upgrade   

在这里插入图片描述

3.3 搜索软件包

  • (1)搜索poco库
conan search poco --remote=conancenter 

在这里插入图片描述

  • (2)搜索opencv库
conan search opencv* -r=conancenter 

在这里插入图片描述

  • (3)搜索zlib库
conan search zlib conan search zlib -r=conancenter conan search zlib/1.2.1* -r=conancenter conan search zlib/1.2.1* -r=conancenter --format=json 

在这里插入图片描述

  • (4)搜索glut库
conan search *glut 

在这里插入图片描述

  • (5)搜索glfw库
conan search glfw 

在这里插入图片描述

  • (6)搜索glad库
conan search glad 

在这里插入图片描述

  • (7)搜索glew库
conan search glew 

在这里插入图片描述

  • (8)搜索glm库
conan search glm 

在这里插入图片描述

  • (9)搜索glbinding库
conan search glbing* 

在这里插入图片描述

  • (10)搜索sdl库
conan search sdl* 

在这里插入图片描述

  • (10)搜索freetype库
conan search freetype* 

在这里插入图片描述

  • (11)搜索freeimage库
conan search freeimage* 

在这里插入图片描述

  • (12)搜索boost库
conan search boost 

在这里插入图片描述

3.4 显示conan所有源

conan remote list 

在这里插入图片描述

3.5 查看软件包

conan inspect <包名>/<版本> conan inspect poco/1.9.4 

在这里插入图片描述

3.6 通过conanfile.txt安装依赖包

# 配置仓库,执行该命令会在当前目录生成conan的工程信息 conan install   # 编译确实二进制的包 conan install  --build=missing  # 指定编译器和系统 conan install  --settings os="Linux" --settings compiler="gcc"  # 指定配置,默认profile=default conan install  --profile=gcc_x64  conan install .. -o poco:shared=True -o openssl:shared=True # or even with wildcards, to apply to many packages conan install .. -o *:shared=True conan install conanfile.txt --build=missing  conan install . 
  • 以glfw库使用为例,操作步骤如下:

  • 新建conanfile.txt:

[requires] glfw/3.3.8  [generators] CMakeDeps CMakeToolchain 
  • 创建默认conan配置
conan profile detect --force 

在这里插入图片描述

  • 下载和编译依赖项
conan install . --output-folder=build --build=missing 

在这里插入图片描述

  • 在子文件夹src准备测试代码文件main.c
#include   int main(void) {     GLFWwindow* window;      /* Initialize the library */     if (!glfwInit())         return -1;      /* Create a windowed mode window and its OpenGL context */     window = glfwCreateWindow(640, 480, "Hello World, 爱看书的小沐", NULL, NULL);     if (!window)     {         glfwTerminate();         return -1;     }      /* Make the window's context current */     glfwMakeContextCurrent(window);      /* Loop until the user closes the window */     while (!glfwWindowShouldClose(window))     {         /* Render here */         glClear(GL_COLOR_BUFFER_BIT); 		glClearColor(0, 0, 1, 1);          /* Swap front and back buffers */         glfwSwapBuffers(window);          /* Poll for and process events */         glfwPollEvents();     }      glfwTerminate();     return 0; } 
  • 编写构建脚本文件CMakeLists.txt
cmake_minimum_required(VERSION 3.15)  project(glfwTest) message("${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}")  find_package(GLFW3 REQUIRED) message("conan libs : ${CONAN_LIBS}")  add_executable(${PROJECT_NAME} src/main.cpp) # target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) target_link_libraries(${PROJECT_NAME} glfw) 

在这里插入图片描述

  • 编译测试程序
$ cd build # assuming Visual Studio 15 2017 is your VS version and that it matches your default profile $ cmake .. -G "Visual Studio 15 2017" -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake" $ cmake --build . --config Release 

在这里插入图片描述
在这里插入图片描述
运行编译好的程序如下:在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

相关内容

热门资讯

推出新举措!九哥玩辅助软件安装... 推出新举措!九哥玩辅助软件安装(辅助)好像是有辅助方法(有挂工具)1、游戏颠覆性的策略玩法,独创攻略...
2026版教学!途游游戏辅助脚... 2026版教学!途游游戏辅助脚本(辅助)其实是真的有辅助脚本(有挂攻略)途游游戏辅助脚本能透视中分为...
近期!开心泉州免费辅助(辅助)... 近期!开心泉州免费辅助(辅助)其实真的是有辅助脚本(有挂秘诀)该软件可以轻松地帮助玩家将开心泉州免费...
现场直击!佛手在线做辅助下载(... 现场直击!佛手在线做辅助下载(辅助)原来存在有辅助方法(讲解有挂)佛手在线做辅助下载是不是有人用挂微...
2026版总结!都莱辅助器(辅... 2026版总结!都莱辅助器(辅助)本来真的有辅助教程(的确有挂)1、打开软件启动之后找到中间准星的标...
近期!邯郸胡乐挂辅助(辅助)都... 近期!邯郸胡乐挂辅助(辅助)都是是真的有辅助脚本(有挂秘笈)1、每一步都需要思考,不同水平的挑战会更...
这一现象值得深思!微信呢微乐游... 这一现象值得深思!微信呢微乐游戏辅助脚本(辅助)原来是真的有辅助神器(有挂教学)1、微信呢微乐游戏辅...
有玩家发现!四海茶馆游戏辅助(... 有玩家发现!四海茶馆游戏辅助(辅助)其实真的是有辅助工具(真的有挂)1、完成四海茶馆游戏辅助辅助器v...
黑科技辅助挂!青龙辅助器(辅助... 黑科技辅助挂!青龙辅助器(辅助)一贯是有辅助挂(证实有挂)1、让任何用户在无需青龙辅助器安装教程第三...
软件辅助挂!人海大厅脚本(辅助... 软件辅助挂!人海大厅脚本(辅助)切实真的是有辅助技巧(发现有挂)1、在人海大厅脚本插件功能辅助器技巧...