gcc指定链接库路径后还是找不到库文件

源码编译
2014
linux
linux 举报
2022-02-16

问题描述:makefile中已经指定了库的路径和库的名字,编译时没报错,但程序运行时会报找不到库文件的错误。

这里写图片描述

这里写图片描述

解决办法:

gcc中加上-Wl,-rpath=.

这里写图片描述

为什么?

gcc -L选项在链接时指定动态库路径,编译通过,但是执行时会找不到路径;

gcc -Wl -rpath选项在运行时指定路径,运行时按照指定路径寻找动态库;

也就是说处理动态链接库时有2个路径:链接时路径和运行时路径,2个路径是分开的。

————————————————

版权声明:本文为CSDN博主「alw_123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/alw_123/article/details/78010524


倒序看帖 只看楼主
热点关注
You need Perl 5 安装openssl时报错提示需要安装perl 5
shell 脚本中常见的 if [ $? -ne 0 ]; 意思
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
shell脚本每行后面多了一个^M的原因和解决办法
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
extman-1.1自带了图形化显示日志的功能;此功能需要rrdtool的支持,您需要安装此些模块才可能正常显示图形日志。
postfix的相关个别参数设置
postfix中recipient/client/sender/helo四者的区别