【问题标题】:Problems with GLEWGLEW 的问题
【发布时间】:2016-11-20 16:19:26
【问题描述】:

我在使用 GLEW 库时遇到问题,我有一个 Linux 系统,并且我使用 GLFW 和 GLEW 编译了一个程序,但是如果我启动我的程序,就会出现问题。

它输出这个: ./Test:加载共享库时出错:libGLEW.so.2.0:无法打开共享对象文件:没有这样的文件或目录

我用以下代码编写了一个 bash 脚本:

#!/bin/sh

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/Dokumente/Libraries/glfw-3.2.1-build/src/libglfw.so.3:~/Dokumente/Libraries/glew-2.0.0/lib/libGLEW.so.2.0

export LD_LIBRARY_PATH
./Test

但它不起作用。它输出相同的错误,我确定路径是正确的

我能做什么?

【问题讨论】:

  • 我确定这条路是对的我觉得它不对。我相信您想放置包含 .so 文件的文件夹的路径,而不是 .so 文件本身。
  • 我在这个脚本中写了 .so 文件及其路径
  • 我的意思是 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/Dokumente/Libraries/glfw-3.2.1-build/src/libglfw.so.3:~/Dokumente/Libraries /glew-2.0.0/lib/libGLEW.so.2.0 应该是 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/Dokumente/Libraries/glfw-3.2.1-build/src :~/Dokumente/Libraries/glew-2.0.0/lib 我不认为 ~/Dokumente‌​/Libraries/glew-2.0.‌​0/lib/ libGLEW.so.2.0 是一个包含libGLEW.so.2.0 的文件夹
  • 我不认为问题是由错误的路径引起的。使用 GLFW 它也适用于我的路径,但不适用于 GLEW

标签: c++ opengl shared-libraries glew


【解决方案1】:

您还可以通过使用 patchelf 设置 rpath 来允许从可执行文件位于“Windows 样式”的同一文件夹中加载 .so:

patchelf --set-rpath '$ORIGIN' your_program_binary

当然,如果您想这样做,这取决于您。 ;)

【讨论】:

    【解决方案2】:

    我刚刚解决了这个问题:

    我把所有的库放到 /usr/local/lib 中,把 LD_LIBRARY_PATH 改成这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      相关资源
      最近更新 更多