我試圖運行一個GLSL example,但我不能。編譯和運行GLSL程序需要什麼?
錯誤位於程序退出的行glGetShaderiv(vShader, GL_COMPILE_STATUS, &status);
。 vShader
是文件vPhong.glsl
。
返回的錯誤是:
0(18) : error C0000: syntax error, unexpected $undefined at token "<undefined>"
0(18) : error C0501: type name expected at token "<undefined>"
我已經 '安裝' 和參考GLEW和過剩和他們的LIB-文件。我有glewInit
'編輯我的程序。
程序能夠找到.glsl文件。
奇怪的是我能運行一個precompiled GLSL-demo,並且在我的電腦上編譯並運行the project。非工作計劃中的「初始化」與此相同。
我試圖將有缺陷的源複製到成功的項目中,以查看項目設置中是否存在導致錯誤的內容,但不幸的是,情況並非如此。 所以這個錯誤似乎是在C++代碼中,而不是項目。
進展情況:
在我的Windows 7機器通過Visual Studio運行時,我得到了 「訪問衝突」。如果我「獨自」運行該程序,該程序停止工作。在Windows XP計算機上,我得到了未捕獲的異常。
當我編譯程序時,我沒有收到任何錯誤或警告(除了警告fopen
是不安全的)。
Visual Studio突出顯示行vShader = glCreateShader(GL_VERTEX_SHADER);
作爲錯誤的來源。
添加glewInit();
修復了上述錯誤。
你給的鏈接是壞的? – ufukgun 2009-12-17 15:53:57
有關更多信息,在該點程序停止工作(我假設通過視覺工作室運行它也會告訴你異常的起源)也將有所幫助(當然鏈接是固定的...) – Grizzly 2009-12-17 16:09:39
Link isn破壞了。 :)我已經提供了有關錯誤發生位置的更多信息。 – jumoel 2009-12-17 16:27:25