这是我的计划:
#include </usr/local/include/GL/glut.h>
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow("Lighthouse3D- GLUT Tutorial");
}
编译:
g ++ -lglut -L / usr / local / lib / -o start start.cpp; ./启动
显示错误:
./ start:加载共享时出错 库:libglut.so.3:无法打开 共享对象文件:没有这样的文件或 目录
该文件存在。
bashprompt&GT;找到libglut.so.3
/usr/local/lib/libglut.so.3
/usr/local/lib/libglut.so.3.9.0
还试过:
LD_RUN_PATH = “/ USR /本地/ LIB /”
g ++ -lglut -LLIBDIR -o start start.cpp; ./ start 没有运气。
这些是安装时显示的消息(如果这有帮助):
根@导航:/home/Nav/freeglut-2.6.0# make install在src中安装 make [1]:输入目录
/home/Nav/freeglut-2.6.0/src'
/ home / Nav / freeglut-2.6.0 / src'测试 -z“/ usr / local / lib”|| / bin / mkdir -p“/ usr / local / lib”/ bin / sh ../libtool --mode = install / usr / bin / install -c'libglut.la' '/usr/local/lib/libglut.la'
make[2]: Entering directory
/ usr / bin / install -c 的.libs / libglut.so.3.9.0 /usr/local/lib/libglut.so.3.9.0(cd / usr / local / lib&amp;&amp; {ln -s -f libglut.so.3.9.0 libglut.so.3 || { R M -f libglut.so.3&amp;&amp; ln -s libglut.so.3.9.0 libglut.so.3; }; })
(cd / usr / local / lib&amp;&amp; {ln -s -f libglut.so.3.9.0 libglut.so || {rm -f libglut.so&amp;&amp; ln -s libglut.so.3.9.0 libglut.so; }; } / usr / bin / install -c .libs / libglut.lai /usr/local/lib/libglut.la
/ usr / bin / install -c .libs / libglut.a /usr/local/lib/libglut.a chmod 644 /usr/local/lib/libglut.a ranlib /usr/local/lib/libglut.a
PATH =“$ PATH:/ sbin”ldconfig -n 在/ usr / local / lib目录
-------------------------------------------------- --------------------图书馆已经安装在:
/ usr / local / lib如果你曾经发生过 想要链接安装 给定目录中的库, LIBDIR,你必须使用libtool, 并指定的完整路径名 库,或使用-LLIBDIR' flag during linking and do at least one of the following:
LD_LIBRARY_PATH'环境变量 执行期间 - 将LIBDIR添加到
- add LIBDIR to theLD_RUN_PATH' environment variable during linking
- Wl, - rpath -Wl,LIBDIR'链接器标志
- use the
- 让系统管理员将LIBDIR添加到`/etc/ld.so.conf' 请参阅任何操作系统文档 关于共享库的更多信息 信息,如ld(1)和 ld.so(8)手册页。
答案 0 :(得分:3)
您的LD_RUN_PATH
尝试非常接近,但应该是LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=/usr/local/lib
./start
安装程序的这个提示也很方便:
请系统管理员将LIBDIR添加到`/etc/ld.so.conf'
如果你这样做,你就不需要做LD_LIBRARY_PATH
事。