Thalhammer / jwt-cpp

A header only library for creating and validating json web tokens in c++
https://thalhammer.github.io/jwt-cpp/
MIT License
875 stars 239 forks source link

Getting Error - namespace "jwt" has no member "claims" #332

Closed Varun270 closed 7 months ago

Varun270 commented 7 months ago

What's your question?

I am trying to generate an Access Token but I am getting error like namespace "jwt" has no member "claims", I have installed the jwt-cpp using vcpkg and have integrated it with VS code as well. Already checked the C++ version which is 20. Also included the header which is not giving any error. Providing the code screenshots

Additional Context

IMG20240218220937

prince-chrismc commented 7 months ago

Please use screenshots, camera pictures are hard to read.

Are you getting a compiler error? Can you include picojson?

Varun270 commented 7 months ago

This is what I get while building the project. Also Attaching the screenshot

claim
1>------ Build started: Project: curltest, Configuration: Debug x64 ------
1>curltest.cpp
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\PicoJSON.1.3.0\lib\native\include\picojson\picojson.h(779,48): warning C4003: not enough arguments for function-like macro invocation 'min'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\PicoJSON.1.3.0\lib\native\include\picojson\picojson.h(780,56): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\PicoJSON.1.3.0\lib\native\include\picojson\picojson.h(779,48): error C2589: '(': illegal token on right side of '::'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\base.h(96,24): warning C4244: 'return': conversion from '__int64' to 'uint32_t', possible loss of data
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(31,10): error C2039: 'claims': is not a member of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(6): message : see declaration of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(31,17): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(31,17): error C2146: syntax error: missing ';' before identifier 'claims'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,35): error C2039: 'string': is not a member of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(13): message : see declaration of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,76): error C2678: binary '[': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3812,55): message : could be 'const char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept const'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3805,49): message : or       'char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,76): message : while trying to match the argument list '(const std::string, const char [13])'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,36): error C2039: 'string': is not a member of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(13): message : see declaration of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,77): error C2678: binary '[': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3812,55): message : could be 'const char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept const'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3805,49): message : or       'char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,77): message : while trying to match the argument list '(const std::string, const char [13])'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(35,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(35,37): error C2039: 'string': is not a member of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(13): message : see declaration of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(38,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(39,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,64): error C2678: binary '[': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3812,55): message : could be 'const char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept const'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3805,49): message : or       'char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,64): message : while trying to match the argument list '(const std::string, const char [12])'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,80): error C2512: 'jwt::algorithm::rs256': no appropriate default constructor available
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,80): message : No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(43,17): error C2039: 'encode': is not a member of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(6): message : see declaration of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(43,24): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(43,23): error C3861: 'encode': identifier not found
1>Done building project "curltest.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Varun270 commented 7 months ago

I did

Please use screenshots, camera pictures are hard to read.

Are you getting a compiler error? Can you include picojson?

I took your suggestion and included picojson now the build errors are as follows -

1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\jwt.h(3207): message : see reference to class template instantiation 'jwt::basic_claim<jwt::traits::kazuho_picojson>' being compiled
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(19): message : see reference to class template instantiation 'jwt::verifier<jwt::default_clock,jwt::traits::kazuho_picojson>' being compiled
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(31,10): error C2039: 'claims': is not a member of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(6): message : see declaration of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(31,17): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(31,17): error C2146: syntax error: missing ';' before identifier 'claims'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,35): error C2039: 'string': is not a member of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(13): message : see declaration of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,76): error C2678: binary '[': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3812,55): message : could be 'const char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept const'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3805,49): message : or       'char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(33,76): message : while trying to match the argument list '(const std::string, const char [13])'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,36): error C2039: 'string': is not a member of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(13): message : see declaration of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,77): error C2678: binary '[': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3812,55): message : could be 'const char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept const'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3805,49): message : or       'char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(34,77): message : while trying to match the argument list '(const std::string, const char [13])'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(35,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(35,37): error C2039: 'string': is not a member of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(13): message : see declaration of 'jwt::basic_claim<jwt::traits::kazuho_picojson>'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(38,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(39,5): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,64): error C2678: binary '[': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3812,55): message : could be 'const char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept const'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xstring(3805,49): message : or       'char &std::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator [](const unsigned __int64) noexcept'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,64): message : while trying to match the argument list '(const std::string, const char [12])'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,80): error C2512: 'jwt::algorithm::rs256': no appropriate default constructor available
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(42,80): message : No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(43,17): error C2039: 'encode': is not a member of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\packages\jwt-cpp.0.7.0\lib\native\include\jwt-cpp\traits\kazuho-picojson\defaults.h(6): message : see declaration of 'jwt'
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(43,24): error C2065: 'claims': undeclared identifier
1>C:\Users\sagarv.TESTDEV\source\repos\curltest\curltest\curltest.cpp(43,23): error C3861: 'encode': identifier not found
1>Done building project "curltest.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
prince-chrismc commented 7 months ago

The first error is https://github.com/Thalhammer/jwt-cpp/blob/master/docs/faqs.md#building-on-windows-fails-with-syntax-errors Hard to say if the others are related or not.

Varun270 commented 7 months ago

@prince-chrismc It didn't fix the errors!

prince-chrismc commented 7 months ago

Please provide more information if you'd like help. I am going to make this a closed since your project settings are the most likely culprit.