Closed TheCompez closed 7 months ago
This looks very much like a linker not finding your standard library. I'm not really sure what linker command lines were being attempted here and what our expectation should be.
It can be solved by defining the following values manually. Isn't it better to apply these in CMakeList.txt settings?
https://github.com/KambizAsadzadeh/jsoncpp/commit/90b48dc3619436722b1760fbf62ef130e3b3b67e
oh wow. Well you are now having the compiler dictate the choice of standard library. This isn't always the right choice. Many people use gcc's libstdc++ with clang instead of libc++, for example. I am not that familiar with CMake. We are using a different system called Meson.
I'm not sure why this problem starts when c++23 is selected.
It looks like the platform definition needs to define this, and it shouldn't be done inside individual projects like jsconcpp?
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_STANDARD_LIBRARIES.html
It looks like the platform definition needs to define this, and it shouldn't be done inside individual projects like jsconcpp?
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_STANDARD_LIBRARIES.html
I Agree with you Billy!, yes it's better to set it as the target platform and not in the target library. Because we may have many sub-libraries that all need these changes.
I solved this problem in my own library that it has some dependency for jsoncpp and it doesn't seem to be a problem now.
CMAKE_CXX_STANDARD_LIBRARIES
Seems the new compilers doesn't recognize it automatically for CXX23 at the moment, but overall the problem is solved.
Thank you!
ok cool
The library is not able to compile and link with the C++23 standard. Both in GCC13 and Clang17.