Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关

http://bbs.chinaunix.net/thread-983182-1-1.html

PATH变量:

此变量代表可执行程序在任意位置直接输入指令执行时,系统会到此变量标记的目录里去找对应的可执行程序。

有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下:

(1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以:

   export PATH=$PATH:path -----path为命令所在路径

(2)如果只给当前用户永久添加,则:

在~/.bash_profile中的靠近末尾有类似这样的一行PATH=$PATH:$HOME/bin后添

加:path,就变成PATH=$PATH:$HOME/bin:path

文件修改并保持完以后,运行source ~/.bash_profile命令即可使修改操作立即生效。

(3)如果给系统中所有的用户都永久添加,则:

在/etc/profile文件末尾添加export PATH=$PATH:path (要有root权限),文件修改并保持完以后,运行source etc/profile命令即可使修改操作立即生效。

LD_LIBRARY_PATH变量

一个变量如果表示一个头文件目录,那么着个目录只能是唯一的

一个变量如果表示一个动态库目录,那么这个目录可以是冒号连接的多个目录

Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关

时间: 2024-12-24 08:42:21

Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关的相关文章

Linux程序包编译安装

一.源代码简介(文件中的代码之间,很可能存在跨文件依赖关系) 源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令. 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序.计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成. 二.源代码的编译过程 由于程序源代码到可被计算机识别并运行的指令是需要多步骤处理的:程序源

linux 程序更新,安装,执行 等等

sudo apt-get update; sudo apt-get install some-tool; some-tool 说明: $? 环境变量 等同于 程序执行结果 linux 中,程序执行结果为 1 表示 未执行 ; 执行结果为 0 表示执行 $ which cowsay>/dev/null || echo "cowsay has not been install, please run 'sudo apt-get install cowsay' to install"

C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令

在Unity3D项目开发工具时需要用到SSH连接远程Linux服务器执行命令,找到SharpSSH链接库后,通过此方法就可使用.   /// <summary>     /// SSH登录远程Linux服务器,并运行指令     /// </summary>     /// <param name="host">远程Linux服务器IP或域名</param>     /// <param name="username&qu

Linux系统下编译连接C源代码

gcc test.c -o test 一步到位的编译指令 得到 test 文件 gcc test.c 得到 test.out 文件 gcc -g -c test.c -o test 只生成目标文件(.obj文件),没有生成可执行文件(也就是说test是.obj文件) gcc -g test.c -o test 生成可执行文件(可以通过./test运行程序) -g:生成调试信息.GNU 调试器可利用该信息. -c:只编译并生成目标文件.(没有中间文件生成和可执行文件,如列表文件.可执行文件) -o

linux下的静态连接库和动态链接库

对linux的静态连接库和动态链接库分不清楚,在看了一篇博文后,现在想做个自己的总结,以加深印象: 1.库的基本概念: 库是可执行代码的二进制形式,其可以被调入操作系统调入内存进行执行. 在window和linux系统,都存在各自的库,但是两种系统的库并不能兼容,因为它们的编译器,连接器,汇编器都是不相同的. 在windows下,静态连接库的后缀是.lib;动态链接库的后缀是.dll 在linux系统下,静态链接库的后缀是.a;动态链接库的后缀是.so 2.静态连接库和动态链接库的命名: 静态连

Linux汇总一——Linux程序管理,Linux终端,Linux命令格式、命令类型及Linux命令帮助

本章blog主要汇总了Linux程序管理,linux应用程序的分类,Linux终端类型,Linux命令格式.命令类型及Linux命令帮助等相关知识点,并介绍了man命令,which命令,type命令,tty命令,hash命令,dirname命令,basename命令,who命令的相关功能及选项. 本章Blog相关Linux知识点 计算机=硬件+软件 . 冯诺依曼理论,五大部件:CPU -- 运算器.控制器, 存储器,输入设备,输出设备. Shell 环境是通过环境变量进行配置的 ,环境变量保存对

Mac:当iPhone连接苹果电脑时,自动弹出照片的解决方案

如题,当iPhone连接苹果电脑时,系统默认自动弹出手机中的照片. 关闭的方法: 1.打开Finder--应用程序--图像捕捉: 2.在打开的窗口中,设置左下角的   连接此"iPhone"时打开:不打开任何应用程序: 以后连接iPhone手机时不会再自动弹出任何窗口了!

怎样在linux下编写C程序并编译执行

一.Hello, world! 在linux下输入:(以hello.c为例)首先选中文件要保存的路径(如:cd work)vi hello.c(要编辑的文件名) 输入程序:# include<stdio.h>int main(void) { printf("hello,world!\n");   return 0;   注:return和0之间要有空格} 退出并保存程序:在vi模式下,按ESC后,按 :wq加enter键 利用gcc编译程序:(先要找到程序存在哪个文件夹中)

Linux程序包管理之yum仓库、源码编译安装

CentOS:yum,dnf URL:ftp://172.16.0.1/pub yum是C/S架构,是rpm的前端工具,依赖于rpm存在的: 1.本地要有yun程序: 2.本地要有配置文件(配置远程服务器yum仓库或本地服务器yum仓库): 3.要有存在的文件服务器(程序包仓库即yum仓库).(也可以在本地配置服务器yum仓库): yum支持的服务器有两种:一种是ftp服务器,第二种是http服务器: yum工作简述: yum是客户端,也认为是自我独立管理的组件,需要联系远程的仓库,从仓库中下载