-
Notifications
You must be signed in to change notification settings - Fork 0
Why are we specifying a C++ standard? #1
Comments
So unless we switch to a newer Yocto/Openembedded branch for the camera firmware we can not support a full C++14 standard. For reference this is the list provided by the GCC folks which gives some details about the features available in gcc 4.9. |
What would it take to switch? I do not think we want to slow down the upstream package to employing the latest standards. Beyond the core technical advantages to moving to the newer standards, operationally, it means less reliance on external packages like Boost. |
The reason why i specified the standard in the Recipe anyway is that i compiled the modules (camera/framegrabber/examples/image...) as stand-alone packages and the top-level CMakeLists.txt (with the c++-standard-specification) is not involved. |
I should note that the move from C++11 to C++14 is really incremental (like a "patch release"). However, C++17 and C++20 get interesting. So, I am thinking more about our general strategy here than the specifics of C++11 vs C++14 -- just to clarify. @graugans Per the GCC link you provided, it looks like most of what we would care about is covered in GCC 4.9. The one concern would be the JSON library. While it does state it is implemented in vanilla C++11 it is not something that we can control. Just a thought. |
I do fully agree, we need to move towards new C++ Standards. So an upgrade plan needs to be discussed internally. Would it okay for you to work with the GCC 4.9 C++14 features for 0.9.x and maybe the first 1.0.x versions. I do ask because in this case we have a chance to provide ifm3d oem on the camera and discuss the migration to a newer Openembedded version in April? |
I see, for example here, that a C++ standard is being specified. Why is that? The upcoming release, 0.9.0, which is just a bridge to 1.0.0, has moved on to C++14 and may (will) exploit that feature set moving forward. The C++ standard is being specified in ifm3d, for example, in the
camera
module, here. It seems to me by forcing a potentially conflicting standard may cause us pain in the future. What was the thought process there?The text was updated successfully, but these errors were encountered: