Opengl Freeglut程序编译,但运行时显示错误:libglut.so.3:无法打开共享对象文件
这是我的节目:Opengl Freeglut程序编译,但运行时显示错误:libglut.so.3:无法打开共享对象文件,opengl,shared-libraries,freeglut,Opengl,Shared Libraries,Freeglut,这是我的节目: #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,32
#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");
}
#包括
int main(int argc,字符**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_深度| GLUT_双精度| GLUT_RGBA);
位置(100100);
glutInitWindowSize(320320);
glutCreateWindow(“Lighthouse 3D-GLUT教程”);
}
汇编时使用:
g++-lglut-L/usr/local/lib/-o start
start.cpp/开始
错误显示:
/开始:加载共享时出错
库:libglut.so.3:无法打开
共享对象文件:没有此类文件或
目录
文件已存在
bashprompt>定位libglut.so.3/usr/local/lib/libglut.so.3
/usr/local/lib/libglut.so.3.9.0 还尝试: LD_RUN_PATH=“/usr/local/lib/”
g++-lglut-LLIBDIR-o start.cpp/开始 没有运气 这些是安装时显示的消息(如果有帮助): root@Nav:/home/Nav/freeglut-2.6.0# 在src中进行安装进行安装
make[1]:输入目录
/home/Nav/freeglut-2.6.0/src'
make[2]:进入目录
/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”/usr/bin/install-c .libs/libglut.so.3.9.0 /usr/local/lib/libglut.so.3.9.0(cd /usr/local/lib&{ln-s-f libglut.so.3.9.0 libglut.so.3 | |{rm -f libglut.so.3&&ln-s libglut.so.3.9.0 libglut.so.3;};})
(cd/usr/local/lib&{ln-s-f) libglut.so.3.9.0 libglut.so | |{rm-f libglut.so&&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'标志
在链接过程中,至少执行以下操作之一:
以下内容:
-将LIBDIR添加到
LD_LIBRARY_PATH'环境变量
执行期间-将LIBDIR添加到
LD_RUN_PATH'环境变量
链接期间
-使用
-Wl,--rpath-Wl,LIBDIR'链接器标志-让系统管理员将LIBDIR添加到“/etc/ld.so.conf”
请参阅任何操作系统文档 有关共享库的更多信息 信息,如ld(1)和 ld.so(8)手册页
您的
LD\u RUN\u PATH
尝试非常接近,但应该是LD\u LIBRARY\u PATH
:
export LD_LIBRARY_PATH=/usr/local/lib
./start
此安装程序提示也很方便:
让系统管理员将LIBDIR添加到“/etc/ld.so.conf”
如果你这样做了,你就不需要做那件事了!非常感谢你!您必须在
glutCreateWindow()
之后调用glutMainLoop()
,否则程序将在窗口出现之前退出。