【发布时间】: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 发行版之间的交叉编译并不像在实际目标机器上编译程序那么容易(共享库依赖会被正确解析)。