`

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下出现/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found问题

    3. **临时解决方案**:如果你没有管理员权限或不希望永久修改系统,可以将`libstdc++.so.6.0.23`复制到工作目录,然后在运行程序前使用`LD_LIBRARY_PATH`环境变量指向这个副本。例如: ``` export LD_LIBRARY_PATH...

    arm64下的libopencv*.so+libopencv*.so.3.2文件

    这些文件包含了运行时程序需要调用的函数和数据,使得开发者无需将所有代码都编译进应用程序,从而减小了程序的大小并提高了性能。 在描述中提到,这个打包合集是为了方便开发人员快速进行OpenCV相关的项目开发。...

    opencv-4.5.5编译后的jar包和linux平台的so文件

    2. **环境变量配置**:在Linux环境下,可能需要将库文件路径添加到`LD_LIBRARY_PATH`环境变量中,以便系统能找到并加载.so文件。 3. **版本兼容性**:确保使用的OpenCV Java库版本与项目的其他依赖库相兼容,避免...

    解决usrlib64libstdc++.so.6和lib64libc.so.6版本过低问题

    可以通过设置或修改 `LD_LIBRARY_PATH` 环境变量来确保新版本的库文件被优先加载。 3. **依赖性检查**:更新库文件可能会影响其他依赖于这些库文件的应用程序。因此,在更新前建议仔细检查所有相关的依赖关系。 ...

    libfreetype.so.6

    4. **重新编译程序**:如果以上方法都无法解决问题,可能需要重新编译程序,指定链接到已安装的FreeType库版本。 了解`libfreetype.so.6`的工作原理对于开发者尤其重要。FreeType库提供了一系列接口供应用程序调用...

    libawt_xawt.zip

    4. **设置环境变量**:如果jmavsim运行时仍然找不到库,可能需要在启动脚本或环境中设置`LD_LIBRARY_PATH`,指向包含libawt_xawt.so的目录。 5. **重新编译jmavsim**:完成上述步骤后,再次尝试编译jmavsim,如果...

    linux下opencv2.4 静态库编译 lib .a

    5. **配置环境变量**:可能需要更新`LD_LIBRARY_PATH`以包含静态库的路径,如`export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH`。 编译完成后,会在`/usr/local/lib`或指定的安装路径下生成`.a`格式的静态...

    linux 下 libssl.so.10 libcrypto.so.10

    如果系统找不到这两个库,可能会导致依赖它们的程序无法正常运行,出现“找不到符号”(`undefined symbol`)之类的错误。 此外,需要注意的是,`libssl.so.10`和`libcrypto.so.10`是特定版本的库文件,随着OpenSSL...

    linux的ubuntu上如何编译C和C++代码写的动态库,以及调用执行

    在Linux的Ubuntu操作系统中,编译C和C++代码以创建动态库(即共享对象库,通常以`.so`结尾)以及调用这些库来执行程序是一个常见的需求。以下是一步步教你如何完成这个过程。 首先,我们需要准备源代码文件。在本例...

    linux下java环境gdal编译好的文件

    例如,`libgdal.a`是静态库,可以在编译时链接到应用程序中,将GDAL的功能合并到二进制文件中。而`libgdal.so.*`是动态链接库,通常用于节省磁盘空间和内存,因为多个程序可以共享同一份库文件。这里的`libgdal.so....

    GStreamer1.6.0一键编译安装脚本文档

    - 执行 **`sudo make install`** 将编译好的文件安装到之前指定的目录。 ##### 6. 安装额外依赖库 ``` sudo apt-get install libxv-dev libasound2-dev libtheora-dev libogg-dev libvorbis-dev ``` - 安装更多与...

    libmysqlclient.so.zip

    4. **运行时链接**:如果程序已经编译完成,但运行时找不到库,可以使用`LD_LIBRARY_PATH`环境变量临时指定库的搜索路径,例如:“export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/library”。 5. **检查版本...

    linux libstdc++.so--libstdc++.so.x不存在解决,目前为最新版

    如果新安装的库不在默认搜索路径中,可以通过`export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/library`来添加。 7. **重新启动服务或应用**:完成上述步骤后,重启需要依赖`libstdc++.so.x`的程序或服务,检查...

    libmysqlclient.so.18.rar

    安装这些库文件时,通常需要将它们放置在系统路径中可找到的位置,例如`/usr/lib`或`/usr/lib64`(取决于系统的架构),或者将相应的路径添加到`LD_LIBRARY_PATH`环境变量中。这样,当应用程序运行时,系统可以自动...

    Linux动态链接库.so文件的创建与使用

    在Linux系统中,动态链接库(Dynamic Linking Library,通常以`.so`为扩展名)是一种重要的编程资源,它允许程序共享代码,从而节省内存并提高执行效率。本篇文章将深入探讨如何创建和使用`.so`文件,以及相关的重要...

    libstdc++.so.6.0.29的动态库

    《深入理解libstdc++.so.6.0.29:CentOS 7 x86_64系统下的GCC...理解和管理这个库对于系统管理员和开发者来说,是确保软件顺利编译和执行的关键步骤。在日常工作中,我们应密切关注库的更新,以保持与最新技术的同步。

    oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.zip

    在Linux系统中,通常需要先安装依赖(如libaio和ldap),然后使用`rpm`命令安装RPM包,并通过设置环境变量(如ORACLE_HOME、LD_LIBRARY_PATH等)来配置Oracle Instant Client,使其能够被应用程序正确找到和使用。...

    linux创建和使用动态链接库.so文件

    有时,即使链接成功,程序也可能因找不到动态链接库而无法运行。这可能是由于系统不知道去哪里查找库文件导致的。解决这个问题的方法有两种: 1. **修改 `/etc/ld.so.conf` 文件**:在该文件中添加动态链接库所在的...

    libiot_sdk静态库链接HAL出错解决方法.rar_Lib_iot_Client_libhal.a_libiot_sdk_

    可能需要将`libhal.a`所在目录添加到`LD_LIBRARY_PATH`环境变量,或者在链接命令中指定`-L`选项指定库路径。 2. **版本不兼容**:`libiot_sdk`可能需要特定版本的`libhal.a`才能正常工作。检查两者版本是否匹配,...

    QT交叉编译ARM架构下的程序打包时常缺少的.so库

    总之,理解和处理QT交叉编译到ARM架构时的.so库问题,需要对Linux系统、编译原理和QT框架有深入的了解。正确配置和打包是保证程序在目标平台上顺利运行的关键。务必仔细检查每个步骤,确保所有必要的库都得到妥善...

Global site tag (gtag.js) - Google Analytics