c++ - Eclipse CDT 自动包含共享库

标签 c++ eclipse g++ shared-libraries eclipse-cdt

我在 Eclipse 中工作:Helios Service Release 1 使用 Eclipse CDT 使用 g++ 编译

我刚开始尝试在我的项目中使用共享库,但遇到了一个小问题。我有三个项目 A、B 和 C。A 和 B 都是共享库,C 是可执行文件。

在 Eclipse 下,我设法从 C 引用 A 和 B,C 编译并正确运行,但是当我尝试在 Eclipse 之外手动运行生成的 C 程序时,出现以下错误:

加载共享库时出错:libA.so:无法打开共享对象文件:没有这样的文件或目录

我尝试将 A.so B.so 和 C 移动到同一个文件夹并运行 C,但我得到了同样的错误。

我能否让 Eclipse 将所有文件放在同一个位置来构建我的项目,并且当我将它们移动到新位置时它们仍然运行?

最佳答案

以 root 身份运行 ldconfig 以更新缓存 - 如果仍然没有帮助,您需要将路径添加到文件 ld.so.conf(只是在单独的行中输入它)或者更好的是,将条目添加到目录 ld.so.conf.d 中的新文件(更容易删除)。

关于c++ - Eclipse CDT 自动包含共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327744/

相关文章:

c++ - QWaitCondition,除了手动重置? (或者在 Qt Concurrent 之外创建 QFuture 对象?)

c++ - 类中的静态成员是如何分配的?

c++ - 斥力 vector

c++ - 复制构造函数在哪里被调用?

C++基础程序段错误

c++ - 解析文本格式的 protobuf 消息时如何忽略错误的字段

java - 如何在 Eclipse 上运行 Java Card Connected Edition Web 示例?

java - 在 Google App Engine (Java) 中保存预先保留的对象时出现问题

java - 在运行时将 netty-tcnative 添加到 Tomcat

c++ - 为 float 类型重载 operator%