2010-10-28 82 views
0

我想在當前正在使用Freeglut我的OpenGL應用程序使用幾何着色器,我想使用GLEW這樣做,因爲我的理解是,幾何着色器的功能是在擴展。我包括順序如下:GLEW和Freeglut不會一起工作嗎?

#define GLEW_STATIC 
    #include <glew.h> 
    #include "freeglut.h" 

但是當我這樣做,我得到很多的鏈接錯誤的類似以下內容:

error LNK2001: unresolved external symbol ___glewAttachShader 

時我只使用基本的OpenGL功能我沒有收到任何錯誤(即它不在擴展中的東西),所以我知道編譯器正在查找像glu32等所有「基本」庫。我正在使用Visual Studio 2008.有什麼建議嗎?

回答

2

就這麼說,它沒有找到一個入口點GLEW鏈接錯誤。

對GLEW庫鏈接(你之前還沒有,因爲你沒有使用任何分機看到錯誤,我認爲)。

編輯: 其實,這是直接關係到你的「GLEW_STATIC」的用法。

GLEW page

在Windows上,你也可以選擇添加所提供的項目文件glew_static.dsp到工作區(解決方案)的選項,並與其他項目一起編譯。在這種情況下,您還需要在構建靜態庫或可執行文件時將GLEW_BUILD預處理器常量更改爲GLEW_STATIC,否則會出現構建錯誤。

這就是說,當您使用GLEW_STATIC設置時,您有責任構建和包含glew源文件。

+0

你的意思是glew32.lib?我這樣做,我認爲 - 我把從zip文件glew32.lib文件到Visual Studio lib目錄下的指示,然後我添加了目錄都以「附加庫目錄」中的連接體>一般和「附加依賴「在鏈接器 - >輸入,但我仍然得到該錯誤。這是你正在談論的圖書館嗎? – Alex319 2010-10-28 09:12:56

+0

@ Alex319:是的。錯誤表示鏈接程序找不到應該在那裏的入口點。你能檢查你的鏈接器命令行嗎? (屬性/鏈接器/命令行) – Bahbar 2010-10-28 09:17:34

+0

@ Alex319:沒關係......查看我的更新。 – Bahbar 2010-10-28 09:23:19