微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Linux上静态构buildglew&glfw

在我的项目目录中,我有

./external/glew,从源代码编译(ran make)

./external/glfw,其中glfw也是从源码编译(运行make x11)

在我的.c源代码中:

#include <stdio.h> #include <stdlib.h> #include "external/glew/include/GL/glew.h" #include "external/glfw/include/GL/glfw.h"

我试图编译使用GCC:

gcc test1.c -o test1 -DGLEW_STATIC -L./external/glew/lib -lGLEW -lglu -lGL -L./external/glfw/lib/x11 -lglfw

./external/glew/lib是libGLEW.a所在的位置,而./external/glfw/lib/x11是libglfw.a所在的位置。

使链接时,gcc偏好静态库共享对象?

Linux vs Windows性能

如何为embedded式设备获得正确的MIPS libc工具链

什么时候setsid()有用,或者为什么我们需要在Linux中对进程进行分组?

什么是libg2c库?

它编译没有错误。 但后来我尝试运行./test1它给了我:

./test1: error while loading shared libraries: libGLEW.so.1.6: cannot open shared object file: No such file or directory

我如何静态编译glew&glfw?

编辑1感谢您的帮助家伙。 在从stackoverflow和旧的一些人的帮助后,我设法写下静态链接的GLFW和GLEW需要做什么,并把它放在http://www.phacks.net/static-compile-glfw-and-glew /

SDL 2.0构build错误

在x,y位置的Windows控制台中打印

如何在Windows计算机上安装GNAT(GNU Ada)?

R不能在centos 6.5上安装软件包

c调用汇编语言编写的函数

静态库不与-l链接,但只是添加链接文件。 不过,请仔细检查你是否真的想把这些静态链接起来。 您在这里遇到的问题是,* nix系统上的动态链接程序认只会查看系统库目录和LD_LIBARY_PATH环境变量中指定的路径。

但是,也可以将相对链接器路径添加到库所在的可执行文件( --rpath链接器选项)。 这样,您可以将库存放在与您的可执行文件相关的目录中,与系统库无关。 如果你这样做,你也应该看binreloc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐