mirror of
https://github.com/glfw/glfw.git
synced 2024-11-10 00:51:47 +00:00
Win32: Fix symbol redefinition warnings
When both GLFW_INCLUDE_VULKAN and VK_USE_PLATFORM_WIN32_KHR were defined, the GLFW header would define replacement versions of APIENTRY and WINGDIAPI /before/ including the Vulkan header, which would include windows.h, which (justifiably) defines APIENTRY and WINGDIAPI blindly. Fixes #1524.
This commit is contained in:
parent
5bea122211
commit
773f4495f0
@ -121,6 +121,8 @@ information on what to include when reporting a bug.
|
|||||||
- Disabled tests and examples by default when built as a CMake subdirectory
|
- Disabled tests and examples by default when built as a CMake subdirectory
|
||||||
- Bugfix: The CMake config-file package used an absolute path and was not
|
- Bugfix: The CMake config-file package used an absolute path and was not
|
||||||
relocatable (#1470)
|
relocatable (#1470)
|
||||||
|
- [Win32] Bugfix: `GLFW_INCLUDE_VULKAN` plus `VK_USE_PLATFORM_WIN32_KHR` caused
|
||||||
|
symbol redefinition (#1524)
|
||||||
- [X11] Bugfix: The CMake files did not check for the XInput headers (#1480)
|
- [X11] Bugfix: The CMake files did not check for the XInput headers (#1480)
|
||||||
- [X11] Bugfix: Key names were not updated when the keyboard layout changed
|
- [X11] Bugfix: Key names were not updated when the keyboard layout changed
|
||||||
(#1462,#1528)
|
(#1462,#1528)
|
||||||
|
@ -96,6 +96,25 @@ extern "C" {
|
|||||||
#define _WIN32
|
#define _WIN32
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
/* Include because most Windows GLU headers need wchar_t and
|
||||||
|
* the macOS OpenGL header blocks the definition of ptrdiff_t by glext.h.
|
||||||
|
* Include it unconditionally to avoid surprising side-effects.
|
||||||
|
*/
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
/* Include because it is needed by Vulkan and related functions.
|
||||||
|
* Include it unconditionally to avoid surprising side-effects.
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#if defined(GLFW_INCLUDE_VULKAN)
|
||||||
|
#include <vulkan/vulkan.h>
|
||||||
|
#endif /* Vulkan header */
|
||||||
|
|
||||||
|
/* The Vulkan header may have indirectly included windows.h (because of
|
||||||
|
* VK_USE_PLATFORM_WIN32_KHR) so we offer our replacement symbols after it.
|
||||||
|
*/
|
||||||
|
|
||||||
/* It is customary to use APIENTRY for OpenGL function pointer declarations on
|
/* It is customary to use APIENTRY for OpenGL function pointer declarations on
|
||||||
* all platforms. Additionally, the Windows OpenGL header needs APIENTRY.
|
* all platforms. Additionally, the Windows OpenGL header needs APIENTRY.
|
||||||
*/
|
*/
|
||||||
@ -122,17 +141,6 @@ extern "C" {
|
|||||||
#define GLFW_CALLBACK_DEFINED
|
#define GLFW_CALLBACK_DEFINED
|
||||||
#endif /* CALLBACK */
|
#endif /* CALLBACK */
|
||||||
|
|
||||||
/* Include because most Windows GLU headers need wchar_t and
|
|
||||||
* the macOS OpenGL header blocks the definition of ptrdiff_t by glext.h.
|
|
||||||
* Include it unconditionally to avoid surprising side-effects.
|
|
||||||
*/
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
/* Include because it is needed by Vulkan and related functions.
|
|
||||||
* Include it unconditionally to avoid surprising side-effects.
|
|
||||||
*/
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
/* Include the chosen OpenGL or OpenGL ES headers.
|
/* Include the chosen OpenGL or OpenGL ES headers.
|
||||||
*/
|
*/
|
||||||
#if defined(GLFW_INCLUDE_ES1)
|
#if defined(GLFW_INCLUDE_ES1)
|
||||||
@ -211,10 +219,6 @@ extern "C" {
|
|||||||
|
|
||||||
#endif /* OpenGL and OpenGL ES headers */
|
#endif /* OpenGL and OpenGL ES headers */
|
||||||
|
|
||||||
#if defined(GLFW_INCLUDE_VULKAN)
|
|
||||||
#include <vulkan/vulkan.h>
|
|
||||||
#endif /* Vulkan header */
|
|
||||||
|
|
||||||
#if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL)
|
#if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL)
|
||||||
/* GLFW_DLL must be defined by applications that are linking against the DLL
|
/* GLFW_DLL must be defined by applications that are linking against the DLL
|
||||||
* version of the GLFW library. _GLFW_BUILD_DLL is defined by the GLFW
|
* version of the GLFW library. _GLFW_BUILD_DLL is defined by the GLFW
|
||||||
|
Loading…
Reference in New Issue
Block a user