2012-02-17 65 views

回答

3

當你有一個「未定義的參考」,你必須檢查你是否已經鏈接你的庫!

使用「-l」標誌編譯,或者如果使用-for instance -eclipse轉到:project-> propreties-> C++ Build-> Settings-> GCC C++ Linker-> Libraries並添加您的庫!

3

你需要將OpenGL和GLU庫放入你的對象中,'#include'指令不是一個庫,它只是庫可以爲你做的一個參考。庫在Linux上具有.so擴展名,在MacOS上爲.dylib,在Windows上爲.dll/.lib,你需要告訴我們你正在使用什麼來編譯(MinGW,VisualStudip,QtCreator),並告訴我們你鏈接了哪些庫用。對於OpenGL,在linux中是-lGL,在windows中是-lOpenGL32。

+0

非常感謝您的回覆。我正在用Linux編譯QtCreator。使用免費的過剩。我不認爲我在使用-lGL選項時將其添加到make中並沒有幫助我。但我發現它在glOrtho中運行得很好 – Tharanga 2012-02-17 14:09:27

0

如果您使用的是Windows,請遵循以下兩個步驟。

  1. #include <QtOpenGL>添加到您的.h文件中。
  2. 在您的.pro文件中添加QT += opengl
0

包含所有這些庫: 實施例:下面是new2.cpp主C++文件和Output.out是受編譯new2.cpp文件以g ++編譯器創建的可執行文件。我還用-I包含了這些庫,並將它們與-l鏈接起來。最後我通過執行完成了執行結果./Output.out

mandeep @ mandeep-HP:〜/ Desktop $ g ++ new2.cpp -o Output.out -I/usr/include/GL -I/usr/lib -lGL -lglut -lGLU mandeep @ mandeep-HP:〜/ Desktop $ ./Output.out