C++ GLFW3错误:';glfwGetWin32Window';未在此范围中声明
我在中寻找本机API访问以获取C++ GLFW3错误:';glfwGetWin32Window';未在此范围中声明,c++,windows,glfw,C++,Windows,Glfw,我在中寻找本机API访问以获取HWND,但它不在我的GLFW/glfw3.h文件中。是否有任何#定义,以便编译器能够找到它?使用文本查找器,我也无法在文件本身中手动找到它,因此如何获取它 另外,我不能标记glfw3 编辑: 代码: #定义GLFW(包括)GLU #定义GLFW\u EXPOSE\u NATIVE\u WGL #定义GLFW_EXPOSE_NATIVE_WIN32 #包括 #包括 #包括 #包括 ... int main() { //glfw设置 ... //呜呜呜呜 ... //
HWND
,但它不在我的GLFW/glfw3.h
文件中。是否有任何#定义,以便编译器能够找到它?使用文本查找器
,我也无法在文件本身中手动找到它,因此如何获取它
另外,我不能标记glfw3
编辑:
代码:
#定义GLFW(包括)GLU
#定义GLFW\u EXPOSE\u NATIVE\u WGL
#定义GLFW_EXPOSE_NATIVE_WIN32
#包括
#包括
#包括
#包括
...
int main()
{
//glfw设置
...
//呜呜呜呜
...
//我只想叫这个
ScreenToClient(glfwGetWin32Window(窗口),&点);
}
在被你的问题弄糊涂后,我自己尝试过,我认为包含顺序是你的问题。一个在Linux上模拟您在Windows上尝试执行的操作的最小代码示例可按预期进行编译和工作:
#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
int main (int argc, char ** argv)
{
glfwInit();
GLFWwindow* window = glfwCreateWindow (256, 256, "GLFW", nullptr, nullptr);
glfwGetX11Window(window);
glfwTerminate();
return 0;
}
#定义GLFW_EXPOSE_NATIVE_X11
#定义GLFW\u EXPOSE\u NATIVE\u GLX
#包括
#包括
int main(int argc,字符**argv)
{
glfwInit();
GLFWwindow*window=glfwCreateWindow(256,256,“GLFW”,nullptr,nullptr);
GLFWGETX11窗口(窗口);
glfwTerminate();
返回0;
}
编辑:添加了glfweterminate()
的incovation以进行适当的清理。请注意,当然应该进行适当的错误检查,但是为了演示一个最小的示例,上面的内容就足够了。在被您的问题弄糊涂后,我自己尝试了,我认为包含顺序是您的问题。一个在Linux上模拟您在Windows上尝试执行的操作的最小代码示例可按预期进行编译和工作:
#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
int main (int argc, char ** argv)
{
glfwInit();
GLFWwindow* window = glfwCreateWindow (256, 256, "GLFW", nullptr, nullptr);
glfwGetX11Window(window);
glfwTerminate();
return 0;
}
#定义GLFW_EXPOSE_NATIVE_X11
#定义GLFW\u EXPOSE\u NATIVE\u GLX
#包括
#包括
int main(int argc,字符**argv)
{
glfwInit();
GLFWwindow*window=glfwCreateWindow(256,256,“GLFW”,nullptr,nullptr);
GLFWGETX11窗口(窗口);
glfwTerminate();
返回0;
}
编辑:添加了glfweterminate()
的incovation以进行适当的清理。请注意,当然应该进行适当的错误检查,但是为了演示一个最小的示例,上面的内容就足够了。在被您的问题弄糊涂后,我自己尝试了,我认为包含顺序是您的问题。一个在Linux上模拟您在Windows上尝试执行的操作的最小代码示例可按预期进行编译和工作:
#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
int main (int argc, char ** argv)
{
glfwInit();
GLFWwindow* window = glfwCreateWindow (256, 256, "GLFW", nullptr, nullptr);
glfwGetX11Window(window);
glfwTerminate();
return 0;
}
#定义GLFW_EXPOSE_NATIVE_X11
#定义GLFW\u EXPOSE\u NATIVE\u GLX
#包括
#包括
int main(int argc,字符**argv)
{
glfwInit();
GLFWwindow*window=glfwCreateWindow(256,256,“GLFW”,nullptr,nullptr);
GLFWGETX11窗口(窗口);
glfwTerminate();
返回0;
}
编辑:添加了glfweterminate()
的incovation以进行适当的清理。请注意,当然应该进行适当的错误检查,但是为了演示一个最小的示例,上面的内容就足够了。在被您的问题弄糊涂后,我自己尝试了,我认为包含顺序是您的问题。一个在Linux上模拟您在Windows上尝试执行的操作的最小代码示例可按预期进行编译和工作:
#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
int main (int argc, char ** argv)
{
glfwInit();
GLFWwindow* window = glfwCreateWindow (256, 256, "GLFW", nullptr, nullptr);
glfwGetX11Window(window);
glfwTerminate();
return 0;
}
#定义GLFW_EXPOSE_NATIVE_X11
#定义GLFW\u EXPOSE\u NATIVE\u GLX
#包括
#包括
int main(int argc,字符**argv)
{
glfwInit();
GLFWwindow*window=glfwCreateWindow(256,256,“GLFW”,nullptr,nullptr);
GLFWGETX11窗口(窗口);
glfwTerminate();
返回0;
}
编辑:添加了glfweterminate()
的incovation以进行适当的清理。请注意,当然应该进行适当的错误检查,但是为了演示一个最小的示例,上面的内容就足够了。试图包括glfw3native.h
?@thokra哦,谢谢你,但是如何知道我使用的是哪种“上下文API”?编辑:从头开始,你对上下文API是什么意思?@thokra我已经做了#定义GLFW\u EXPOSE\u NATIVE\u WGL
和#定义GLFW\u EXPOSE\u NATIVE\u WIN32
,但仍然说没有指定上下文API
。我在包含头文件之前定义了它。@thokra-Uhm,我不知道这意味着什么。是编译器在抱怨。试图包含glfw3ntive.h
?@thokra哦,谢谢你,但是如何知道我使用的是哪种“上下文API”?编辑:划掉它,你对上下文API是什么意思?@thokra我已经做了#定义GLFW\u EXPOSE\u NATIVE\u WGL
和#定义GLFW\u EXPOSE\u NATIVE\u WIN32
,但仍然说没有指定上下文API
。我在包含头文件之前定义了它。@thokra-Uhm,我不知道这意味着什么。是编译器在抱怨。试图包含glfw3ntive.h
?@thokra哦,谢谢你,但是如何知道我使用的是哪种“上下文API”?编辑:划掉它,你对上下文API是什么意思?@thokra我已经做了#定义GLFW\u EXPOSE\u NATIVE\u WGL
和#定义GLFW\u EXPOSE\u NATIVE\u WIN32
,但仍然说没有指定上下文API
。我在包含头文件之前定义了它。@thokra-Uhm,我不知道这意味着什么。是编译器在抱怨。试图包含glfw3ntive.h
?@thokra哦,谢谢你,但是如何知道我使用的是哪种“上下文API”?编辑:划掉它,你对上下文API是什么意思?@thokra我已经做了#定义GLFW\u EXPOSE\u NATIVE\u WGL
和#定义GLFW\u EXPOSE\u NATIVE\u WIN32
,但仍然说没有指定上下文API
。我在包含头文件之前定义了它。@thokra-Uhm,我不知道这意味着什么。是编译器在抱怨。