【问题标题】:Adding .so lib into .pro file in eclipse. C++ / Eclipse / Linux在 Eclipse 中将 .so lib 添加到 .pro 文件中。 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 发行版之间的交叉编译并不像在实际目标机器上编译程序那么容易(共享库依赖会被正确解析)。

标签: c++ linux eclipse static


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2011-02-16
    • 2013-02-19
    • 2021-04-02
    相关资源
    最近更新 更多