GLEW/SFML 程序未在 MinGW 中编译 - "GLChar" 无法识别
GLEW/SFML program not compiling in MinGW - "GLChar" not recognised
我想知道为什么当我取消注释 GLChar* test = "Test";
行时我的代码无法编译
这是我的完整代码:
#include <iostream>
// GLEW
#define GLEW_STATIC
#include <GL/glew.h>
// SFML
#include <SFML/Window.hpp>
const int WIDTH = 800, HEIGHT = 600;
//GLChar* test = "Test";
int main() {
sf::Window window(sf::VideoMode(WIDTH, HEIGHT),
"OpenGL",
sf::Style::Default,
sf::ContextSettings(24, 0, 0, 3, 1));
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
} else if (event.type == sf::Event::Resized) {
glViewport(0, 0, event.size.width, event.size.height);
}
}
glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
// clear the buffers
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
window.display();
}
return 0;
}
令我非常困惑的是,当我取消注释 GLChar* test = "Test"
时它似乎不起作用,因为 glClearColor
和 glClear
否则可以正常工作。不管是在main()内部还是全局声明,报错都是一样的。
错误是:
E:\Downloads\SFML-Game\src\main.cpp:11:1: error: 'GLChar' does not name a type
GLChar* test = "Test";
我相信我的图书馆链接正确 - 这是我的相关 CMakeLists.txt 区域:
target_link_libraries(game
libglew32.a
libopengl32.a
libsfml-main-d.a
libsfml-graphics-d.a
libsfml-audio-d.a
libsfml-system-d.a
libsfml-window-d.a
)
观察案例:正确的类型拼写是 GLchar
,而不是 GLChar
。
我想知道为什么当我取消注释 GLChar* test = "Test";
这是我的完整代码:
#include <iostream>
// GLEW
#define GLEW_STATIC
#include <GL/glew.h>
// SFML
#include <SFML/Window.hpp>
const int WIDTH = 800, HEIGHT = 600;
//GLChar* test = "Test";
int main() {
sf::Window window(sf::VideoMode(WIDTH, HEIGHT),
"OpenGL",
sf::Style::Default,
sf::ContextSettings(24, 0, 0, 3, 1));
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
} else if (event.type == sf::Event::Resized) {
glViewport(0, 0, event.size.width, event.size.height);
}
}
glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
// clear the buffers
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
window.display();
}
return 0;
}
令我非常困惑的是,当我取消注释 GLChar* test = "Test"
时它似乎不起作用,因为 glClearColor
和 glClear
否则可以正常工作。不管是在main()内部还是全局声明,报错都是一样的。
错误是:
E:\Downloads\SFML-Game\src\main.cpp:11:1: error: 'GLChar' does not name a type
GLChar* test = "Test";
我相信我的图书馆链接正确 - 这是我的相关 CMakeLists.txt 区域:
target_link_libraries(game
libglew32.a
libopengl32.a
libsfml-main-d.a
libsfml-graphics-d.a
libsfml-audio-d.a
libsfml-system-d.a
libsfml-window-d.a
)
观察案例:正确的类型拼写是 GLchar
,而不是 GLChar
。