Browse Source

Fix dll exports so that raylib builds in visual studio again. (#2037)

pull/1987/head
Jeffery Myers 3 years ago
committed by GitHub
parent
commit
33ed452439
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 25 deletions
  1. +4
    -5
      src/raylib.h
  2. +15
    -20
      src/raymath.h

+ 4
- 5
src/raylib.h View File

@ -83,11 +83,6 @@
#define RAYLIB_VERSION "4.0"
// Function specifiers definition
#ifndef RLAPI
#define RLAPI // Functions defined as 'extern' by default (implicit specifiers)
#endif
// Function specifiers in case library is build/used as a shared library (Windows)
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
#if defined(_WIN32)
@ -95,7 +90,11 @@
#define RLAPI __declspec(dllexport) // We are building the library as a Win32 shared library (.dll)
#elif defined(USE_LIBTYPE_SHARED)
#define RLAPI __declspec(dllimport) // We are using the library as a Win32 shared library (.dll)
#else
#define RLAPI // Functions defined as 'extern' by default (implicit specifiers)
#endif
#else
#define RLAPI // Functions defined as 'extern' by default (implicit specifiers)
#endif
//----------------------------------------------------------------------------------

+ 15
- 20
src/raymath.h View File

@ -52,29 +52,24 @@
#endif
// Function specifiers definition
#ifndef RMAPI
#if defined(RAYMATH_IMPLEMENTATION)
#define RMAPI extern inline // Functions defined as 'extern inline' by default
// Function specifiers in case library is build/used as a shared library (Windows)
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
#if defined(_WIN32)
#if defined(BUILD_LIBTYPE_SHARED)
#define RMAPI __declspec(dllexport) // We are building the library as a Win32 shared library (.dll)
#elif defined(USE_LIBTYPE_SHARED)
#define RMAPI __declspec(dllimport) // We are using the library as a Win32 shared library (.dll)
#endif
#endif
#elif defined(RAYMATH_STATIC_INLINE)
#define RMAPI static inline // Functions may be inlined, no external out-of-line definition
#if defined(RAYMATH_IMPLEMENTATION)
#if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED)
#define RMAPI __declspec(dllexport) extern inline // We are building raylib as a Win32 shared library (.dll).
#elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED)
#define RMAPI __declspec(dllimport) // We are using raylib as a Win32 shared library (.dll)
#else
#if defined(__TINYC__)
#define RMAPI static inline // WARNING: Plain inline not supported by tinycc (See issue #435)
#else
#define RMAPI inline
#endif
#define RMAPI extern inline // Provide external definition
#endif
#elif defined(RAYMATH_STATIC_INLINE)
#define RMAPI static inline // Functions may be inlined, no external out-of-line definition
#else
#if defined(__TINYC__)
#define RMAPI static inline // plain inline not supported by tinycc (See issue #435)
#else
#define RMAPI inline // Functions may be inlined or external definition used
#endif
#endif
//----------------------------------------------------------------------------------
// Defines and Macros

Loading…
Cancel
Save