工具学习_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 位共享库文件,使用动态链接,并包含完整的调试信息。这种文件通常用于与其他程序链接运行,同时方便开发和调试。

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

相关推荐
丁劲犇7 分钟前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse
rui锐rui7 分钟前
大数据学习2:HIve
大数据·hive·学习
旷世奇才李先生20 分钟前
Next.js 安装使用教程
开发语言·javascript·ecmascript
凛铄linshuo41 分钟前
爬虫简单实操2——以贴吧为例爬取“某吧”前10页的网页代码
爬虫·python·学习
牛客企业服务43 分钟前
2025年AI面试推荐榜单,数字化招聘转型优选
人工智能·python·算法·面试·职场和发展·金融·求职招聘
charlie1145141911 小时前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析
胡斌附体1 小时前
linux测试端口是否可被外部访问
linux·运维·服务器·python·测试·端口测试·临时服务器
大春儿的试验田1 小时前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
likeGhee2 小时前
python缓存装饰器实现方案
开发语言·python·缓存
whoarethenext2 小时前
使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
开发语言·c++·faiss