mirror of
https://github.com/DaveGamble/cJSON.git
synced 2023-08-10 21:13:26 +03:00
Merge pull request #147 from DaveGamble/copy-paste-msvc
Fix copy pasting with MSVC
This commit is contained in:
commit
bb5ab5916f
12
cJSON.h
12
cJSON.h
@ -88,9 +88,10 @@ typedef int cJSON_bool;
|
|||||||
/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 2 define options:
|
/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 2 define options:
|
||||||
|
|
||||||
CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols
|
CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols
|
||||||
CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols
|
CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default)
|
||||||
|
CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol
|
||||||
|
|
||||||
For *nix builds that support visibility attribute, you can define similar behavior by
|
For *nix builds that support visibility attribute, you can define similar behavior by
|
||||||
|
|
||||||
setting default visibility to hidden by adding
|
setting default visibility to hidden by adding
|
||||||
-fvisibility=hidden (for gcc)
|
-fvisibility=hidden (for gcc)
|
||||||
@ -102,11 +103,16 @@ then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJ
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* export symbols by default, this is necessary for copy pasting the C and header file */
|
||||||
|
#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS)
|
||||||
|
#define CJSON_EXPORT_SYMBOLS
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(CJSON_HIDE_SYMBOLS)
|
#if defined(CJSON_HIDE_SYMBOLS)
|
||||||
#define CJSON_PUBLIC(type) type __stdcall
|
#define CJSON_PUBLIC(type) type __stdcall
|
||||||
#elif defined(CJSON_EXPORT_SYMBOLS)
|
#elif defined(CJSON_EXPORT_SYMBOLS)
|
||||||
#define CJSON_PUBLIC(type) __declspec(dllexport) type __stdcall
|
#define CJSON_PUBLIC(type) __declspec(dllexport) type __stdcall
|
||||||
#else
|
#elif defined(CJSON_IMPORT_SYMBOLS)
|
||||||
#define CJSON_PUBLIC(type) __declspec(dllimport) type __stdcall
|
#define CJSON_PUBLIC(type) __declspec(dllimport) type __stdcall
|
||||||
#endif
|
#endif
|
||||||
#else /* !WIN32 */
|
#else /* !WIN32 */
|
||||||
|
Loading…
Reference in New Issue
Block a user