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
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c34af55fee27b1b9ce0cdf7d2103be24.png#pic_center)
2. 生成动态库
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/384f4ec448752be2159720ea98188714.png#pic_center)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0d279821693a89113ff6a5730b8ee385.png#pic_center)
3. 使用动态库
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bfc5a522b8cddd704d596239d0318ed9.png#pic_center)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e4d5d53e351de9753b33c9871e74f770.png#pic_center)
2. 链接路径
2.1 windows
同一目录即可
2.2 linux
mkdir build
cd build
cmake ..
make -j8
ldd use_tools
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/800e94c595483552938472a071a457be.png#pic_center)
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
crt_dir=$(pwd)
export LD_LIBRARY_PATH=$(pwd):${LD_LIBRARY_PATH}
./use_tools