New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Much easier fix for min vs std::min issue #1785
Labels
Comments
dberlin
changed the title
Much easier fix for min vs std::min isse
Much easier fix for min vs std::min issue
Aug 3, 2022
Hi @dberlin, Thank you for this feedback. The source of the website is, indeed, in a private repo. Is it sufficient to Best regards, |
At least as you have things now, you would not have to #undef max, because
ArduinoJson doesn't use max.
If that changed, yes, you would run smack into the same problem unless you
#undef max.
…On Thu, Aug 4, 2022 at 4:27 AM Benoît Blanchon ***@***.***> wrote:
Hi @dberlin <https://github.com/dberlin>,
Thank you for this feedback.
The source of the website is, indeed, in a private repo.
Is it sufficient to #undef min? or do we also need to #undef max?
Best regards,
Benoit
—
Reply to this email directly, view it on GitHub
<#1785 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACPI2574CP3R2ZZDHUIAL3VXN5GNANCNFSM55PSVKWQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
ArduinoJson doesn't use |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
(It's not obvious where the website docs live in github, or i'd just submit a pull request)
The troubleshooter for the std::min vs arduino min macro (https://arduinojson.org/v6/troubleshooter/?utm_source=github&utm_medium=readme#compiletime/macro-min/success) says to disable std::string/std::stream support.
Just to flag there is actually a much easier fix that does not require compiler flags and should work everywhere.
Before including ArduinoJson.h, do this:
min is guaranteed to be defined in C++ so we don't have to worry that we will remove the only definition (it's also supposed to be an inline function and not a macro, which is why it conflicts in the first place)
Including the header ourselves guarantees that all the macros are defined and that the header won't be reincluded by someone else.
#undef min
then removes the conflicting macro definition.This will work:
Figured i would flag this.
The text was updated successfully, but these errors were encountered: