我的朋友制作了 OpenGL 图形引擎,但他在 Windows 上工作。我想用它编译项目。
我安装了所有必需的带有标题的库,但现在问题在于链接(代码中的项目::块)。我找到了/usr/lib/libSOIL.a
and的路径/usr/local/lib/libglfw3.a
,但是呢:
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libopengl32.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\assimp_debug-dll_win32\assimp.lib
另外,我必须在项目文件中修改什么来编译它?它需要:(glfw3, glm, gl3w.h, assimp, SOIL
这是我从 .hpp 文件中得到的)。我安装了所有标题(下载的源和make && make install
)...
我试图用 g++ 从终端编译它,但我不知道库的开关。
现在的情况:
$ g++ Camera.o Entity.o Frustum.o gl3w.o Light.o Material.o Mesh.o Model.o ModelPart.o Shader.o Texture.o Utilities.o ../main.o -o main -L/ usr/local/lib/libglfw3.a -lX11 -lXext -lXt -lSM -lGLU -lglut -lSOIL
/usr/bin/ld:gl3w.o:未定义对符号“glXGetProcAddress”
/usr/bin/ld 的引用:注意: 'glXGetProcAddress' 在 DSO /usr/lib/nvidia-313-updates/libGL.so.1 中定义,因此请尝试将其添加到链接器命令行
/usr/lib/nvidia-313-updates/libGL.so.1:可以未读取符号:无效操作
collect2:错误:ld 返回 1 退出状态
(我知道,我在命令行中添加了太多库)
编辑
添加-lGL
并且-ldl
出现了一些问题。现在,我将尝试使用 makefile 编译它...