在我的项目目录中,我有:
./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上安装软件包
静态库不与-l链接,但只是添加到链接源文件。 不过,请仔细检查你是否真的想把这些静态链接起来。 您在这里遇到的问题是,* nix系统上的动态链接程序默认只会查看系统库目录和LD_LIBARY_PATH环境变量中指定的路径。
但是,也可以将相对链接器路径添加到库所在的可执行文件( --rpath链接器选项)。 这样,您可以将库存放在与您的可执行文件相关的目录中,与系统库无关。 如果你这样做,你也应该看binreloc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。