cmake 生成、使用动态库和 linux 动态库路径(LD_LIBRARY_PATH)

本文详细介绍了如何使用CMake在Windows和Linux环境下生成和使用动态库,以及如何处理LD_LIBRARY_PATH在不同平台上的设置,包括全局和临时路径管理,以确保程序正确链接到动态库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cmake 生成、使用动态库和 linux 动态库路径(LD_LIBRARY_PATH)

仓库地址

1.cmake

tree /f
│  .clang-format
│  .gitignore
│  CMakeLists.txt
│  readme.md
│
├─cmake
│      enable_warning.cmake
│
├─example 使用 dll
│      CMakeLists.txt
│      use_tools.cpp
│
├─include
└─src 生成 dll
        CMakeLists.txt
        tools.cpp
        tools.h

1.外层 CMakeLists

在这里插入图片描述

2. 生成动态库

在这里插入图片描述

在这里插入图片描述

3. 使用动态库

在这里插入图片描述

在这里插入图片描述

2. 链接路径

2.1 windows

同一目录即可

2.2 linux

mkdir build
cd build
cmake ..
make -j8
ldd use_tools

在这里插入图片描述

1. 设置全局动态库

sudo mv build/lib/libtools.so /usr/local/bin/
# 设置全局动态库路径
export LD_LIBRARY_PATH=/usr/local/bin:${LD_LIBRARY_PATH}

# 缺点:你的所有部署的启动的程序的动态库目录很多,而且可能重复,并且不是每一个程序都需要

2. 设置临时动态库路径 推荐

mv build/lib/libtools.so build/bin/
cd build/bin/

touch start.sh
chmod 777 start.sh
./start.sh
# !/bin/bash

crt_dir=$(pwd)
export LD_LIBRARY_PATH=$(pwd):${LD_LIBRARY_PATH}
./use_tools
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值