在这里插入图片描述

1、简介

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

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 <conanfile.txt所在的目录>

# 编译确实二进制的包
conan install <conanfile.txt所在的目录> --build=missing

# 指定编译器和系统
conan install <conanfile.txt所在的目录> --settings os="Linux" --settings compiler="gcc"

# 指定配置,默认profile=default
conan install <conanfile.txt所在的目录> --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 <GLFW/glfw3.h>

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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐