我正在尝试为GLFW编写C++ / CLI包装器。我创建了一个名为GLFWWrapper的CLR类库项目,并将glfw3.lib添加到Additional Dependencies,还将头文件文件夹添加到Additional Include Directories。

到目前为止,我的GLFWWrapper.h看起来像这样:

// GLFWWrapper.h

#pragma once

#include <GLFW\glfw3.h>

using namespace System;

namespace GLFWWrapper {

    public ref class Window
    {
    public:
        Window(int width, int height, char * title);
    private:
        GLFWwindow * m_ptr;
    };
}

我的GLFWWrapper.cpp看起来像这样:
// This is the main DLL file.

#include "stdafx.h"

#include "GLFWWrapper.h"

namespace GLFWWrapper {

    Window::Window(int width, int height, char * title) {
        if (glfwInit() != GL_TRUE) {

        }
        else {
            m_ptr = glfwCreateWindow(width, height, title, nullptr, nullptr);
        }
    }
}

现在,当我尝试对其进行编译时,会收到以下警告:



在我看来,它们是什么意思,这可能有问题吗?

最佳答案

加:

struct GLFWwindow {};
struct GLFWmonitor {};

之前:
#include <GLFW/glfw3.h>

这样至少可以消除警告。我没有验证它能否正确执行的设置,但是我认为这样做很容易为您和需要执行您正在做的事情的任何其他人做。

10-08 08:54