
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”推拉模型。

Conan 基于 Python 编写,在开始前安装好 Python3。然后使用pip 安装即可。
pip install conan 
Conan客户端常用命令如下:
conan --version 
pip install conan --upgrade 
conan search poco --remote=conancenter 
conan search opencv* -r=conancenter 
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 
conan search *glut 
conan search glfw 
conan search glad 
conan search glew 
conan search glm 
conan search glbing* 
conan search sdl* 
conan search freetype* 
conan search freeimage* 
conan search boost 
conan remote list 
conan inspect <包名>/<版本> conan inspect poco/1.9.4 
# 配置仓库,执行该命令会在当前目录生成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 profile detect --force 
conan install . --output-folder=build --build=missing 
#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; } 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???如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)感谢各位童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!