在GLFW / GLEW中使用共享库

时间:2017-10-26 00:50:51

标签: c++ glfw glew

将GLFW和GLEW安装到不同的Linux机器上一直很麻烦。在最终完成所有设置后,我正在尝试为我的Computer Graphics类编译一个赋值,但收到错误:

/usr/bin/ld: a2.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:6: recipe for target 'a2' failed
make: *** [a2] Error 1

我一直在尝试使用-fPIC以多种不同的方式使用g++重新编译,但是关于我应该放置选项的位置,文档很难理解。

我已经在-fPIC和共享库中阅读了有关此问题的不同帮助请求,但它们都没有相关或足够的答案。

这是我正在使用的makefile:

COMPILE_FLAGS=-c -fPIC

all: a2

a2: a2.o
    g++ -fPIC a2.o -o a2 -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi -ldl -lXinerama -lXcursor -lGLEW

a2.o: a2.cpp
    g++ -std=c++11 -c a2.cpp

0 个答案:

没有答案