2017-08-03 67 views
1

我正在做GLEW並且引用很麻煩(至於很多)。然而,由於遵循了所需的鏈接步驟,所以它不起作用是沒有意義的。無法鏈接特定的庫

最讓我惱火的是我以爲我「理解」了鏈接的邏輯。

「要使用GLEW庫,您必須首先通過給編譯器一個搜索目錄/ Project/include來包含頭文件,但是如果頭中的函數原型想要使用它的整個函數,您必須鏈接該庫到您的項目,以便它可以找到C文件(因爲它的glew)。「

現在,由圖像和我的描述來判斷它失敗的地方。

http://imgur.com/a/62VFE

正如你可以在鏈接的圖像看。我必須要做些什麼。它仍然顯示錯誤。

生成日誌:

的mingw32-G ++ EXE -Ldependecies \ LIB-LC:\程序\ BennyOGL \依賴條件\ LIB -o斌\調試\ BennyOGL.exe OBJ \調試\ display.o OBJ \調試\ main.o -lmingw32 -lSDL2main -lSDL2 -lglew32s -lmingw32 -lSDL2main -lSDL2 -lglew32 OBJ \調試\ display.o:在功能ZN7displayC2EiiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE': C:/Programming/BennyOGL/display.cpp:18: undefined reference to _imp__glewInit @ 0' collect2.exe:錯誤:LD返回1個退出狀態

+1

不要發佈您的IDE的圖像,他們沒有提供信息。找到實際的構建日誌,並直接在問題中將它們作爲文本發佈。找到格式幫助頁面,並確保您的文章格式沒有破壞。有機會,你實際上沒有鏈接圖書館,但從圖片中無法分辨出來。 –

+1

您正在鏈接的庫是libglew32.so還是libglew32.a?或者你的lib目錄包含這兩個? –

+0

如圖所示。它們是.lib庫 –

回答

0

嘗試在鏈接器設置中包含各個庫文件的擴展名並使路徑相對(當您按下「添加」時應該有一個選項可以這樣做)。爲鏈接器相對設置搜索目錄路徑。

+0

是的,我已經試過了。我得到了「... \ dependecies \ lib \ glew32.lib ||沒有這樣的文件或目錄|」。只引用它們的具體名稱「glew32」「glew32s」就可以鏈接它。但是這個函數是未定義的。 另外我試圖通過構建選項而不是全局鏈接它們,但結果相同。 –