【问题标题】:GLEW/SFML program not compiling in MinGW - "GLChar" not recognisedGLEW/SFML 程序未在 MinGW 中编译 - 无法识别“GLChar”
【发布时间】:2017-09-29 23:13:15
【问题描述】:

我想知道为什么当我取消注释 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;
}

考虑到 glClearColorglClear 在其他情况下工作正常,当我取消注释 GLChar* test = "Test" 时它似乎不起作用,这让我非常困惑。不管是在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
)

【问题讨论】:

    标签: c++ opengl sfml glew


    【解决方案1】:

    观看案例:正确的类型拼写是GLchar,而不是GLChar

    【讨论】:

    • 啊,谢谢。现在看来这很愚蠢。我还没有在我的环境中设置自动完成功能,这会救我到这里。最近我遇到了很多链接器错误,我没想到会是别的!
    猜你喜欢
    • 2018-03-05
    • 2012-02-15
    • 2014-06-17
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2020-05-23
    相关资源
    最近更新 更多