在 Eclipse 中将 .so lib 添加到 .pro 文件中。 C++/Eclipse/Linux

Posted

技术标签:

【中文标题】在 Eclipse 中将 .so lib 添加到 .pro 文件中。 C++/Eclipse/Linux【英文标题】:Adding .so lib into .pro file in eclipse. C++ / Eclipse / Linux 【发布时间】:2014-08-04 14:07:22 【问题描述】:

我正在开发允许连接到数据库的应用程序(C++ / QT / Eclipse Helios)。在 Linux (SUSE) 的某些发行版上,库存在问题。 '加载共享库时出错:libldap-2.4.so.2:无法打开共享对象文件:没有这样的文件或目录'是否有可能将这些库添加到应用程序构建中?我尝试将它们添加到 .pro 文件中

FORMS += 
linux-g++
    INCLUDEPATH += source/include
    LIBS += source/libldap-2.4.so.2 \    
    source/libldap_r-2.4.so.2 \
    source/libldif-2.4.so.2 \

但它根本不起作用。 有任何想法吗?

【问题讨论】:

您应该将位置添加到 LD_LIBRARY_PATH 或 ld.config。 如果 SUSE 上缺少共享库,您应该将其安装在那里。 LD_LIBRARY_PATH 或 ld.config 告诉运行时链接器在哪里可以找到共享库,如果安装在非标准位置(它们对编译时链接几乎没有影响)。 Linux 发行版之间的交叉编译并不像在实际目标机器上编译程序那么容易(共享库依赖会被正确解析)。 【参考方案1】:

好吧,在 SUSE 上安装库不是一种选择。我使用小型 bash 脚本解决了这个问题

#!/bin/bash
DIR="$( cd "$( dirname "$BASH_SOURCE[0]" )" && pwd )"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DIR/lib
./myprog

我将丢失的库放在文件夹 /lib 中。唯一的不便是您必须使用此脚本运行应用程序,而不是单击应用程序本身。无论如何,感谢您的回复! :)

【讨论】:

以上是关于在 Eclipse 中将 .so lib 添加到 .pro 文件中。 C++/Eclipse/Linux的主要内容,如果未能解决你的问题,请参考以下文章

求教: 在eclipse中怎么将库中的jar包导入到WebContent下WEB-INF的lib目录中

Eclipse 找不到库

如何在 Java 11 中将 JavaFX 运行时添加到 Eclipse?

将 lib*.so 添加到 cmake

如何在 Eclipse 中将我的应用程序添加到 Tomcat?

无法在 Eclipse 中将项目添加到 Tomcat 服务器