工具学习_Conan 安装第三方库

1. conan 安装

使用 pip 的方式安装 conan,首先确定 python 和 pip 已经安装:

复制代码
python3 --version
pip3 --version

之后通过 pip 安装 conan:

复制代码
pip3 install conan

~/.local/bin 目录添加到 PATH 环境变量中:

复制代码
vim ~/.bashrc
export PATH=$HOME/.local/bin:$PATH
source ~/.bashrc
echo $PATH

验证 conan 是否安装成功:

复制代码
conan --version

2. 二进制文件编译

使用 conan profile detect 自动生成默认构建配置:

复制代码
conan profile detect

修改默认配置:

复制代码
vim ~/.conan2/profiles/default

[settings]
compiler=gcc
compiler.version=9
compiler.libcxx=libstdc++11
compiler.cppstd=gnu17
os=Linux
arch=x86_64
build_type=Release

执行完该命令后,运行 conan install

复制代码
conan install . --build=missing

二进制文件的被缓存到 .conan2 目录中,具体位置参考 conan_toolchain.cmake:

复制代码
cat build/Release/generators/conan_toolchain.cmake

list(PREPEND CMAKE_LIBRARY_PATH "/home/xxx/.conan2/p/b/7bitc1ed0d9a054923/p/lib" "/home/xxx/.conan2/p/taocp27097aa57be5d/p/lib")

检查生成的二进制文件:

复制代码
ls /home/xxx/.conan2/p/b/7bitc1ed0d9a054923/p/lib

lib7bitConf.so  lib7bitConf.so.1.2.0

file /home/xxx/.conan2/p/b/7bitc1ed0d9a054923/p/lib/lib7bitConf.so.1.2.0

/home/xxx/.conan2/p/b/7bitc1ed0d9a054923/p/lib/lib7bitConf.so.1.2.0: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=4cee02ecf239c2b171c46401ef3e29e5492c227c, not stripped

该文件 /home/xxx/.conan2/p/b/7bitc1ed0d9a054923/p/lib/lib7bitConf.so.1.2.0 是一个 Linux 系统上的 64 位共享库文件,使用动态链接,并包含完整的调试信息。这种文件通常用于与其他程序链接运行,同时方便开发和调试。

某些二进制文件的依赖项没有成功编译

相关推荐
知识分享小能手2 小时前
uni-app 入门学习教程,从入门到精通,uni-app基础扩展 —— 详细知识点与案例(3)
vue.js·学习·ui·微信小程序·小程序·uni-app·编程
Python图像识别3 小时前
71_基于深度学习的布料瑕疵检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo
●VON3 小时前
重生之我在大学自学鸿蒙开发第九天-《分布式流转》
学习·华为·云原生·harmonyos·鸿蒙
QX_hao3 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白4 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
无妄无望4 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
千码君20164 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
淮北4944 小时前
windows安装minicoda
windows·python·conda
Evand J5 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
Larry_Yanan6 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui