为GFLW编写C ++ / CLI包装器

时间:2016-04-21 17:43:49

标签: c# c++ glfw

我正在尝试为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);
        }
    }
}

现在当我尝试编译它时,我收到以下警告:

  

GLFWWrapper.obj:警告LNK4248:'GLFWwindow'的未解析的typeref标记(01000008);图像可能无法运行
  GLFWWrapper.obj:警告LNK4248:'GLFWmonitor'的未解析的typeref标记(0100000B);图片可能无法运行

它们在我的背景下意味着什么,这可能会有问题吗?

1 个答案:

答案 0 :(得分:1)

添加:

struct GLFWwindow {};
struct GLFWmonitor {};

之前:

#include <GLFW/glfw3.h>

这至少会消除警告。我没有设置验证它是否会正常执行,但我认为这对你和其他任何需要做你正在做的事情的人来说都很容易。