Winapi 我在Windows API中使用了哪些OpenGL库?
我在使用windows api编程时遇到了一个问题。我想在我的项目中使用OpenGL的着色器功能。我将GLFW包含在我的项目中并将其链接,但出现了此错误Winapi 我在Windows API中使用了哪些OpenGL库?,winapi,opengl,Winapi,Opengl,我在使用windows api编程时遇到了一个问题。我想在我的项目中使用OpenGL的着色器功能。我将GLFW包含在我的项目中并将其链接,但出现了此错误 warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library 我应该在Windows API中使用GLWF,还是应该完全使用其他东西?首先,您为什么要使用Windows API?如果您使用的是OpenGL,那么像
warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
我应该在Windows API中使用GLWF,还是应该完全使用其他东西?首先,您为什么要使用Windows API?如果您使用的是OpenGL,那么像GLFW这样的多平台API将是明智的,因为它可以为您处理Windows API的内容。如果您想使用Windows API,那么这是您的选择,GLFW也是如此。但是记住不要把两者混在一起,否则会有冲突。在我看来,如果您使用GLFW,您的代码将可移植到其他操作系统。您遇到的问题是由于您试图使用不同的CRT链接GLFW二进制文件,而不是链接器想要链接到您的程序。特别是GLFW的brew,您似乎是使用Visual Studio 6或更早版本的VC++编译器或MinGW编译器构建的 由于现代的MSVC++编译器会拒绝与系统MSVCRT链接,而不会跳出一些严重的障碍(因此,您必须使用Windows DDK编译器),因此您可以选择以下两个选项:
- 获取GLFW的DLL构建,CRT已静态链接到其中
- 使用您现在使用的编译器构建GLFW的DLL版本
- 构建GLFW的静态链接库变体,并将其静态链接到您的程序(静态库构建通常不绑定到特定的CRT)