Open
Description
Don't believe it but finally, Visual Studio 14 defines snprintf()!
It restricts redefinition, this is added in stdio.h:
#ifdef snprintf
#error: Macro definition of snprintf conflicts with Standard Library function declaration”
#endif
so we get
...\ucrt\stdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration [...\lua-cjson\build\cjson.vcxproj
errors.
My solution to this was skipping of add_definitions(-Dstrncasecmp=_strnicmp)
for MSVC14. Patch follows:
CMakeLists.txt | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ca26381..ff74d6f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -71,8 +71,10 @@ endif()
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-Dinline=__inline)
- add_definitions(-Dsnprintf=_snprintf)
- add_definitions(-Dstrncasecmp=_strnicmp)
+ if(NOT MSVC14)
+ add_definitions(-Dsnprintf=_snprintf)
+ endif(NOT MSVC14)
+ add_definitions(-Dstrncasecmp=_strnicmp)
endif()
add_library(cjson MODULE lua_cjson.c strbuf.c ${FPCONV_SOURCES})
Keep on coding, Jedzia;)
Metadata
Metadata
Assignees
Labels
No labels