【问题标题】:how do I solve `ld cannot find -something`我如何解决`ld找不到-something`
【发布时间】:2011-06-17 02:42:00
【问题描述】:

当我尝试在 CodeBlocks 中运行 openFrameworks 示例 audioOutputExample 时,我收到以下错误:

在调试中:

ld 找不到 -openframeworksDebug

发布中:

ld 找不到 -openframeworks

我该如何解决这个问题?


更新 这就是我到目前为止尝试的原因:

制作

cd apps/examples/audioOutputExample/
make

[...]

编译完成

启动应用程序

光盘盒

./audioOutputExample

好的

cd bin
./audioOutputExample

./audioOutputExample: 出错时 加载共享库: libfmodex.so:无法打开共享 目标文件:没有这样的文件或目录

寻找 openframeworksDebug

sudo updatedb
[password]
locate openframeworksDebug

[一无所获]

ldconfig

ldconfig

/sbin/ldconfig.real: 无法创建 临时缓存文件 /etc/ld.so.cache~: 权限被拒绝

sudo ldconfig

[输入密码]

[很快结束,没有任何输出]

【问题讨论】:

  • @Gregory Hoerner :是的,我得到ld config/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied 然后sudo ldconfig [输入密码] finishes with no output or errors

标签: codeblocks ld openframeworks


【解决方案1】:

如果您使用的是 linux,这可能会有所帮助: 使用 root 权限从 /scripts/linux/ 运行这两个脚本:

./install_dependencies.sh
./install_codeblocks.sh

【讨论】:

    【解决方案2】:

    首先查找libfmodex.so 库的位置。它应该与您尝试启动的应用程序位于同一目录中的 libs 路径中。 像这样

    someApp
    libs/libfmodex.so
    

    如果不是这样,把它复制到那里(通常应该由 make 完成)。

    如果还是不行就用 ldd。

    ldd someApp
    

    这将向您展示 someApp 在哪里寻找丢失的库。 您现在可以使用以下选项:

    • 调整 LD_LIBRARY_PATH 以包含您的 lib(.so 文件)所在的目录
    • 使用 ldconfig -l /path/to/lib/libfmodex.so

    【讨论】:

      猜你喜欢
      • 2018-01-15
      • 2021-04-09
      • 2020-05-04
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2020-05-05
      相关资源
      最近更新 更多