我的朋友製作了OpenGL圖形引擎,但他正在開發Windows。我想用它編譯項目。
我安裝了所有需要的頭文件,但現在問題是與鏈接(Code :: Blocks中的項目)。我發現路徑,/usr/lib/libSOIL.a
和/usr/local/lib/libglfw3.a
,但怎麼樣:在Linux上編譯Windows的OpenGL應用程序
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: undefined reference to symbol 'glXGetProcAddress'
/usr/bin/ld: note: 'glXGetProcAddress' is defined in DSO /usr/lib/nvidia-313-updates/libGL.so.1 so try adding it to the linker command line
/usr/lib/nvidia-313-updates/libGL.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
(我加得太多,庫命令行,我知道了)
編輯
新增-lGL
和-ldl
和一些問題出來。現在,我將試圖用makefile文件編譯...
我認爲你的問題不是關於如何在Linux中使用OpenGL進行編譯,而是普遍缺乏對GCC構建工具鏈在Linux中如何工作的理解。只要將Makefile放入該文件中並不能真正解決該問題。 – datenwolf
現在解決了,只是噸的錯誤庫等。此外,Makefile是比C :: B項目更好的解決方案... – aso