Fat*_*sis 3 c++ windows opengl glew visual-studio-2015
注意:是的,我指定了GLEW_STATIC。
因此,在尝试设置在新项目中使用的glew之前,我已经经历过这种牛仔竞技表演,但是现在我在项目中使用glew 2.0,它会产生链接错误。我刚刚在Linux实例中生成了源代码,并像这样使用它们。
#include "Renderer.h"
#include <windows.h>
#include "GL/glew.h"
#include "Logger.h"
void Renderer::init(void* windowHandle) {
Logger logger("Renderer::init");
GLenum result = glewInit();
if (result != GLEW_OK) {
LOG(logger) << "Failed to run glew init with error: " << result;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在名称空间渲染器中声明并在此处定义的函数。与此相关的是,我仅致电glewInit(),就是这样。
产生的链接错误是:
Error LNK2019 unresolved external symbol __imp_glGetIntegerv referenced in function glewContextInit
Error LNK2019 unresolved external symbol __imp_glGetString referenced in function glewContextInit
Error LNK2019 unresolved external symbol __imp_wglGetCurrentDC referenced in function wglewInit
Error LNK2019 unresolved external symbol __imp_wglGetProcAddress referenced in function wglewInit
Run Code Online (Sandbox Code Playgroud)
普通的“未定义声明的函数”错误类型之间的区别是,这四个错误是唯一丢失的错误。由于他们附加了__imp_标记,通常表明他们希望链接动态库,所以有什么告诉我它们可能是生成文件中的错误?有人遇到过链接问题吗?
当然,经过一个晚上的搜索后,您会在发布10分钟后找到答案。我已经有一段时间没有这样做了,所以我忘记了win32仍然需要您包含opengl32.lib,因为它包含了glGetIntegerv的版本(以及其他函数),该版本应从Windows包括的opengl 1.0实现中使用,而不是像所有扩展一样从驱动程序中查询它们。
| 归档时间: |
|
| 查看次数: |
1855 次 |
| 最近记录: |