不能包含

2024-01-17

我正在使用 Visual Studio 2010。 我正在尝试在 OpenGL 中编写简单的 Camera 类。 我需要在 Camera.h 中包含 gl/gl.h
gl/gl.h 已包含在 main.cpp 中,Camera.h 已包含在 main.cpp 中 当我把

#include <gl/gl.h>

在 Camera.h 中我遇到了一堆这样的错误:
Error 11 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\gl\GL.h 1153 1 Gaz 3D

files:
相机.h

#include <math.h>
#include <gl/gl.h>

#ifndef _CAMERA_H
#define _CAMERA_H

class Camera
{
private:
    Camera();
public:
    static Camera& getCamera();
    float x, y, z, rotv, roth;
    void moveForward(float n);
    void moveBackward(float n);
    void moveLeft(float n);
    void moveRight(float n);
    void lookUp(float n);
    void lookDown(float n);
    void lookLeft(float n);
    void lookRight(float n);
};

#endif

主要.cpp:

#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#include <math.h>
#include "Camera.h"

// ... some variables ...

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,  
                   LPSTR lpCmdLine, int nCmdShow)
{
    // main code ...
}

我究竟做错了什么?


只需首先包含 windows.h 即可。

#include <windows.h>

正如 OpenGL 常见问题解答中所述:

另请注意,您需要添加一个#include <windows.h>之前的声明#include<GL/gl.h>。 Microsoft 要求系统 DLL 使用特定的调用约定,该调用约定不是大多数 Win32 C 编译器的默认调用约定,因此他们使用一些扩展为非标准 C 语法的宏对 gl.h 中的 OpenGL 调用进行了注释。这导致 Microsoft 的 C 编译器使用系统调用约定。 windows.h 包含的包含文件之一定义了宏。


资源 :

  • Social.msdn.microsoft.com - OpenGL 问题 http://social.msdn.microsoft.com/forums/en-US/Vsexpressvc/thread/5fa6bbe2-32db-49e2-a643-5db082f972e6
  • OpenGL 常见问题解答 - 为什么我会收到编译、链接和运行时错误? http://www.opengl.org/resources/faq/technical/gettingstarted.htm#0020
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不能包含 的相关文章

  • 使用 C# 截取任何外部应用程序的屏幕截图

    我们有一个 C WPF 应用程序 我们想要在其中截取我们启动的任意应用程序的屏幕截图 即 我们可以引用我们启动的进程 应用程序可能已最小化或位于其他窗口后面 但我们仍然只需要单个应用程序的图像 而不是重叠像素 我知道使用 BitBlt 或的
  • PyQt5 的 OpenGL 模块和版本控制问题(调用不正确的 _QOpenGLFunctions_(ver))

    我一直在努力得到PyQt5 helloGL 示例代码 https github com baoboa pyqt5 blob master examples opengl hellogl py编译 当我尝试构建解决方案时 我得到 Traceb
  • OpenGL:伽玛校正图像看起来不线性

    我使用 OpenGL 进行渲染 当我将线性值写入默认帧缓冲区 没有任何伽玛校正 时 它们在我的显示器上显示为线性 这违背了我认为我所知道的关于伽马校正的一切 如下所述 http gamedevelopment tutsplus com ar
  • Perl 程序如何知道在哪里可以找到包含它使用的 Perl 模块的文件?

    如果我的 Perl 程序使用 Perl 模块 它将如何确定在哪里找到包含模块代码的文件 例如 如果程序包含 use MyModule1 Example 1 use This Here MyModule2 Example 2 它会看起来在哪里
  • 在 OpenGL 中只使用纹理的 Alpha 通道?

    嘿 我正在尝试将恒定颜色绘制到帧缓冲区 并使用 RGBA 纹理中的 Alpha 通道将其混合 我一直在研究 glBlendFunc 和 glBlendColor 但似乎无法找到忽略纹理中的 RGB 值的方法 我想我必须自己提取 alpha
  • glDrawElements 只绘制半个四边形

    这是我的功能 void Object draw2 if mIsInitialised return Tell OpenGL about our vertex and normal data glEnableClientState GL VE
  • 用于新 Windows 游戏项目的 OpenGL 或 Direct3D?或者是其他东西?

    我正在 Windows 上启动一个爱好游戏项目 该项目将大量使用 3D 图形效果 它很可能是用 C 编写的 我应该使用 OpenGL 还是 Direct3D 作为我的图形后端 为什么 或者我应该使用现成的图形引擎 例如OGRE 3D htt
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • LWJGL3:重载的 glBufferData 方法

    我正在使用 LWJGL 调用 OpenGL 函数 方法org lwjgl opengl GL15 glBufferData http javadoc lwjgl org org lwjgl opengl GL15 html glBuffer
  • 纹理的内部格式

    看下面的OpenGL函数 void glTexImage2D GLenum target GLint level GLint internalFormat GLsizei width GLsizei height GLint border
  • glVertexAttribDivisor 和 glVertexBindingDivisor 有什么区别?

    我一直在寻找将属性与任意顶点分组关联起来的方法 起初似乎是我实现这一目标的唯一方法 但后来我偶然发现了这个问题 https stackoverflow com questions 14169228 opengl single vertex
  • Smarty 3 如何与 Zend Framework 2 一起使用?

    我很久以前就使用过 PHP5 目前正在尝试刷新我的知识 并通过 Zend Framework 2 和 Smarty 3 的知识来增强它 以实现一个可能的项目 我目前正在尝试弄清楚如何使用 Smarty 3 作为 Zend Framework
  • 帧缓冲区/颜色缓冲区?

    有人可以指出我两者是否相同吗 我的意思是我一直在阅读有关它的信息 这里的红皮书说 颜色缓冲区本身可以由多个子缓冲区组成 系统上的帧缓冲区包含所有这些缓冲区 here http glprogramming com red chapter10
  • 云或烟雾的粒子系统

    我正在尝试使用 OpenGL 和 CUDA 制作一个简单的用于云和烟雾模拟的粒子系统 如何使粒子系统中的粒子表现得像真正的云或烟雾在低湍流风中的表现 我现在遇到的一些问题是 颗粒聚集成一个大球 粒子扩散到无限远 粒子突然弹射离开 我已经完成
  • MATLAB 图形渲染:OpenGL 与 Painters?

    当谈到使用哪个渲染器来处理 MATLAB 图形或何时它很重要时 我一无所知 但我遇到过某些示例 其中does matter plot 0 0 ko markersize 50 linewidth 8 set gcf renderer ope
  • GLSL 中统一浮点行为和常量浮点行为的不同

    我正在尝试在 GLSL 中实现模拟双精度 并且观察到一种奇怪的行为差异 导致 GLSL 中出现细微的浮点错误 考虑以下片段着色器 写入 4 浮点纹理以打印输出 layout location 0 out vec4 Output unifor
  • 使用 glGetFloatv 检索 pyglet 中的模型视图矩阵

    我正在使用 pyglet 在 python 中进行 3D 可视化 并且需要检索模型视图和投影矩阵来进行一些选择 我使用以下方式定义我的窗口 from pyglet gl import from pyglet window import wi
  • 要导入什么才能使用@SuppressFBWarnings?

    要使用 SuppressFBWarnings 需要导入什么 我通过帮助 安装新软件安装了 findbugs 插件 当我输入 import edu 时 我无法按 ctrl space 来获取选项 Example try String t nu
  • 在 3D 场景中实现“抓取”相机平移工具

    在我的场景中 我有想要 抓取 的地形 然后在移动光标时让相机平移 其高度 视图向量 视野等全部保持不变 因此 最初的 抓取 点将是世界空间中的工作点 我希望在拖动时该点保留在光标下方 我当前的解决方案是获取前一个和当前的屏幕点 取消投影它们
  • 渲染 TTF SDL2.0 opengl 3.1

    我正在使用 SDL2 0 并使用 半现代 opengl 3 1 我希望向我的应用程序添加文本叠加 并在应用程序中呈现 TTF 我将如何使用现代 OpenGL 来解决这个问题 编辑 根据 genpfault 的建议 我尝试使用 SDL TTF

随机推荐

  • Chrome:用于测试目的的假麦克风输入

    为了使用量角器进行测试 我需要在没有麦克风的计算机上模拟麦克风的音频输入 通过 use fake device for media stream 标志 Chrome 可以模拟假麦克风 然而 假麦克风没有输入 所以我的测试失败了 是否可以模拟
  • 从 MediaWiki 操作 URL 中删除 index.php

    好的 所以它相当有据可查 https stackoverflow com questions 6667847 mediawiki removing index php from url如何隐藏 url 中的 index php title
  • mysql 如果表存在则插入

    在我的项目中 我有两个在首次设置期间与 MySQL 交互的代码路径 第一步是数据库结构创建 在这里 用户可以选择他们想要的功能 并且根据用户的选择 某些表可能最终不会在数据库中创建 在第二部分中 我需要预加载以下表格did使用一些基本数据创
  • 即使用户重新安装后也限制 iOS 应用程序

    我创建了一个应用程序 在第一次启动时为用户提供 3 个硬币 一旦用户用完 3 个硬币 他应该通过应用内购买购买无限的硬币 问题是 如果用户不想购买无限的硬币 他可以删除该应用程序 重新安装该应用程序 然后他将再次拥有 3 个硬币 他可以永远
  • Unity - 重构的摇摇欲坠的墙脚本停止工作?

    我有一个对象 它立即被数千个小立方体取代 然后在初始化后开始一个接一个地移动 我有有效的代码 但是当我尝试重构它以清理它时 它停止工作 立方体不动 当我尝试将变量初始化和运动初始化分开时 就会发生这种情况 这是我原来的代码段 它可以工作 p
  • 查找给定数字之后的质数

    如何找到大于给定数字的最小素数 例如 给定 4 我需要 5 给定 7 个 我需要 11 个 我想知道一些关于最佳算法的想法 我想到的一种方法是通过埃拉托色尼筛生成素数 然后找到给定数后面的素数 Source 维基百科 伯特兰公设 http
  • 使用 run-as 在 ADB shell 中复制文件

    有没有办法编写一个脚本 使用 run as 从 ADB shell 复制文件 我知道在 adb shell 中复制的唯一方法是使用cat source gt dest 编辑 现代 Android 版本有cp命令 这使得这个问题变得不必要 但
  • 未找到 ObjectSet 库?

    using System using System Collections Generic using System Linq using System Text using System Data using ModelLayer Poc
  • Javamail中的FolderClosed异常

    我正在尝试在 android 中创建一个简单的邮件客户端 并且我在我的应用程序中编译并运行了 javamail 的 android 版本 但是 每当我尝试连接和接收邮件时 我都会收到如下所示的 文件夹已关闭 异常 10 23 12 12 1
  • Gatsby 在 Netlify 部署上构建失败

    我的网站是使用 Gatsby 构建的 并持续部署到 Netlify 我已经两个月没有碰过我的盖茨比网站了 因此 当我运行更新并添加新内容并部署时 我在 Netlify 构建上遇到了重大错误 尝试了很多事情并花了太多时间 最初我只使用 npm
  • 如何获取Oracle表的最后一行

    我想要获取插入到 Oracle 11g Express 数据库表中的最后一行 我怎样才能做到这一点 表中不存在 最后 行 因为 Oracle 表没有顺序的概念 但是 假设您想找到最后插入的主键and如果这个主键是一个递增的数字 你可以这样做
  • Sublime Text 2 中有汇编语法高亮吗?

    我无法突出显示我的程序集 否 但由于 Sublime Text 2 可以读取 Textmate 语言定义文件 tmLanguage 文件 因此您可以通过复制类似内容轻松添加对 Assembly 的支持https github com fox
  • jquery 可以淡入淡出吗在视频中

    我在 vid html 中有一个 flv 文件 它工作正常 但有什么方法可以让视频本身淡入 淡出吗 div div class video div div 这是行不通的 video hide fadeIn load vid html 将其包
  • Axios Get 请求数据返回“data: ↵ ↵ ↵ ↵”

    我正在使用 Axios 向 Jobs API 站点发出 get 请求 每当我 console log 响应时 我似乎无法使用它 返回的对象是 data 但它看起来像 JSON const url api string content axi
  • 如何制作响应式数据列表asp.net

    我的页面中有一个 Asp net DataList 控件 目前 它的重复列设置为 4 这将为我提供每行 4 列 但我想让它响应并针对较小的屏幕尺寸将值设置为 1 下面是我的 asp net 控件
  • 无法将 ADO.NET 实体数据模型添加到 .NET Core 2.1 项目

    问题 正如标题所示 我已经安装了 NET Core 2 1 SDK https www microsoft com net download windows并创建了一个新的 NET Core 2 1项目 当我去项目 gt 添加项目 gt 数
  • 从 Visual Studio 代码终端找不到 npm

    当我尝试从 VS Code 终端运行 npm 时 收到错误 术语 npm 未被识别为 cmdlet 函数 脚本文件或 可操作的程序 这曾经在我以前的笔记本电脑上运行过 所以看来我缺少配置或扩展 请阅读有关如何在计算机上安装 npm 和 no
  • 在 mvvm 中选择列表框第一项

    我是 mvvm 新手 我的 silverlight 应用程序中有一个列表框 它绑定到视图模型中的可观察集合 我想使列表框选择第一个项目 我厌倦了这个 但它不起作用
  • `tapply()` 返回数据帧

    我有一个包含日期时间 POSIXct 节点 因子 和 c 数字 列的数据集 例如 date node c 1 2011 08 14 10 30 00 2 0 051236000 2 2011 08 14 10 30 00 2 0 08123
  • 不能包含

    我正在使用 Visual Studio 2010 我正在尝试在 OpenGL 中编写简单的 Camera 类 我需要在 Camera h 中包含 gl gl hgl gl h 已包含在 main cpp 中 Camera h 已包含在 ma