2013-11-15 77 views
0

我的朋友製作了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文件編譯...

+0

我認爲你的問題不是關於如何在Linux中使用OpenGL進行編譯,而是普遍缺乏對GCC構建工具鏈在Linux中如何工作的理解。只要將Makefile放入該文件中並不能真正解決該問題。 – datenwolf

+0

現在解決了,只是噸的錯誤庫等。此外,Makefile是比C :: B項目更好的解決方案... – aso

回答

1

libopengl32 - > libGL.a

assimp - > libassimp.a?

您必須提供您正在編譯的Makefile。

+0

但是從什麼目錄?我有幾個libGL.so,並沒有libassimp.a :(請看看我的編輯,我從'ld'添加錯誤。 – aso

+0

嗯,你說得對,我必須創建makefile。 – aso

+0

沒有libGL.a。你想鏈接到l​​ibGL.so只需指定'-lGL'鏈接器標誌 – datenwolf

相關問題