2015-11-06 129 views
1

我剛開始進入C++編碼,特別是OpenGL(在這個階段的GLFW)。我使用MinGW的,並使用一個批處理文件編譯我的代碼:用g ++編譯GLFW代碼

g++ -time -v -I lib/glfw-3.1.2/include -o "bin/OpenGL Test" src/Main.cpp 

我的測試代碼是這樣的:

#include <iostream> 
#include <GLFW/glfw3.h> 

using namespace std; 

int main() { 
    if(!glfwInit()) { 
     return 1; 
    } 
    glfwTerminate(); 
    return 0; 
} 

對我來說,這似乎像它應該編譯和運行正常,但它拋出錯誤在兩個GLFW函數中,聲稱它們是「未定義的引用」。

我做錯了什麼?

+1

它看起來像你正在包括頭,但沒有鏈接庫。 –

+0

您必須在編譯器命令行中添加'-lglfw'(可能還有其他庫),並最終添加額外的路徑,以'-L'選項在哪裏找到這些路徑。 –

回答

1

'未定義的引用'是一個常見的錯誤。你應該先編譯你的cpp。然後將其與庫鏈接以形成可執行文件。