Comments (5)
Hm, apparently VS2013 is supposed to support declval. But, it looks like I forgot to include in json11.hpp. It could be that declval is accidentally available on gcc/clang because of the other includes, but not in MSVC. Does adding that #include fix it?
json11 only uses snprintf to print numbers, so it should be "safe" to replace all instances of snprintf with sprintf... I'd want to triple-check all the buffer sizes, though.
from json11.
I forgot to mention that I already added <type_traits> to check if this is the issue.
Unfortunately not, for reference here is my build output: https://gist.github.com/PaulFreund/11154815
from json11.
Just wanted to tell you that I created a copy for me that is header only and compatible with gcc and msvc12 although I currently excluded the two templates that won't compile with msvc12. It's currently very rough and looks like patchwork but it works for now.
Currently I am looking into making the objects mutable so I can spare a few copies.
from json11.
I was able to get it to compile by adding this right above namespace json11
#ifdef _MSC_VER
#if _MSC_VER <= 1800 // VS 2013
#define noexcept
#define snprintf _snprintf_s
#endif
#endif
_snprintf_s
is identical to the Unix snprintf
, and since noexcept
isn't supported in VS2013, we just erase them.
Intellisense still doesn't like the fail
method, but it seems mostly harmless.
from json11.
@retrop we can mimic noexcept
with throw()
and I don't think snprintf
is equal to _snprintf_s
see:
- http://stackoverflow.com/questions/12833241/difference-between-c03-throw-specifier-c11-noexcept
- https://github.com/llvm-mirror/libcxx/blob/master/include/support/win32/support.h
note:
I know that on paper noexcept != throw()
but the way it is used in json11
they are more or less equal.
#ifdef _MSC_VER
#if _MSC_VER <= 1800 // VS 2013
#define noexcept throw()
#define snprintf _snprintf
#endif
#endif
from json11.
Related Issues (20)
- is it possible to add fields to the json? HOT 1
- in json11.cpp line 161 , why use static_cast, what if a json object is a runtime parsed object HOT 1
- clang 6.0 compilation error HOT 2
- Check if a json object key exists HOT 2
- differentiate between "number" and "integer" as per json schema HOT 1
- Tag Versioning HOT 6
- Number size issue.
- Can't parse wstring?
- auto casting HOT 4
- has_shape() always returns true when used with json11::Json::NUL HOT 1
- [Feature] conan package manager support HOT 1
- Order serealization Json::object HOT 2
- ASAN reports runtime error HOT 1
- swig4.0.0 and mingw compile the test.cpp(main modified to be a function) :error: 'final' is not a member of 'json11' HOT 3
- can't be loaded as a dll in low version c++? HOT 2
- Warning '-Werror=overloaded-virtual' with gcc-5.1.0 --std=c++14 HOT 1
- Making object_items(), array_items() not const or alternatively support mutable_object_items() HOT 1
- Super stuff. HOT 1
- No API to add Json (f.e. array) to Json::object outside of ctor. HOT 1
- Buliding for windows? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json11.