Various improvements in doc, cxx98 compat and java#1927
Merged
fspindle merged 11 commits intolagadic:masterfrom Mar 15, 2026
Merged
Various improvements in doc, cxx98 compat and java#1927fspindle merged 11 commits intolagadic:masterfrom
fspindle merged 11 commits intolagadic:masterfrom
Conversation
Java requires at least cxx11
- vpColVector &operator=(const std::initializer_list<double> &list); - static vpColVector view(double *raw_data, unsigned int rows); - static void view(vpColVector &v, double *raw_data, unsigned int rows);
warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions]
Contributor
|
When doing visp/.github/workflows/ubuntu-dep-apt.yml Lines 69 to 73 in 12b2236 For some reason it looks like it passes 2026-03-13T14:49:26.0022453Z cd /home/runner/work/visp/visp/build/3rdparty/pugixml-1.14 && /usr/bin/g++ -I/home/runner/work/visp/visp/3rdparty/pugixml-1.14 -I/home/runner/work/visp/visp/build/include -fPIC -O3 -DNDEBUG -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT 3rdparty/pugixml-1.14/CMakeFiles/visp_pugixml.dir/pugixml.cpp.o -MF CMakeFiles/visp_pugixml.dir/pugixml.cpp.o.d -o CMakeFiles/visp_pugixml.dir/pugixml.cpp.o -c /home/runner/work/visp/visp/3rdparty/pugixml-1.14/pugixml.cppWith C++98 build: 2026-03-13T16:32:51.0700186Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1531:66: error: ‘vpDetectorAprilTag::vpAprilTagFamily’ is not a class or namespace
2026-03-13T16:32:51.0701972Z 1531 | vpDetectorAprilTag::vpAprilTagFamily res = vpDetectorAprilTag::vpAprilTagFamily::TAG_COUNT;
2026-03-13T16:32:51.0702921Z | ^~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0704653Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1535:35: error: ‘vpDetectorAprilTag::vpAprilTagFamily’ is not a class or namespace
2026-03-13T16:32:51.0706239Z 1535 | while ((i < vpDetectorAprilTag::vpAprilTagFamily::TAG_COUNT) && (!wasFound)) {
2026-03-13T16:32:51.0707010Z | ^~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0709408Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp: In static member function ‘static std::string vpDetectorAprilTag::getAvailableTagFamily(const std::string&, const std::string&, const std::string&)’:
2026-03-13T16:32:51.0712400Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1552:52: error: ‘vpDetectorAprilTag::vpAprilTagFamily’ is not a class or namespace
2026-03-13T16:32:51.0714040Z 1552 | for (unsigned int i = 0; i < vpDetectorAprilTag::vpAprilTagFamily::TAG_COUNT - 1; ++i) {
2026-03-13T16:32:51.0714873Z | ^~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0759843Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1556:122: error: ‘vpDetectorAprilTag::vpAprilTagFamily’ is not a class or namespace
2026-03-13T16:32:51.0762651Z 1556 | vpDetectorAprilTag::vpAprilTagFamily candidate = static_cast<vpDetectorAprilTag::vpAprilTagFamily>(vpDetectorAprilTag::vpAprilTagFamily::TAG_COUNT - 1);
2026-03-13T16:32:51.0764501Z | ^~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0767533Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp: In static member function ‘static vpDetectorAprilTag::vpPoseEstimationMethod vpDetectorAprilTag::poseMethodFromString(const std::string&)’:
2026-03-13T16:32:51.0770767Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1595:72: error: ‘vpDetectorAprilTag::vpPoseEstimationMethod’ is not a class or namespace
2026-03-13T16:32:51.0772617Z 1595 | vpDetectorAprilTag::vpPoseEstimationMethod res = vpDetectorAprilTag::vpPoseEstimationMethod::POSE_COUNT;
2026-03-13T16:32:51.0773680Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0775479Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1599:35: error: ‘vpDetectorAprilTag::vpPoseEstimationMethod’ is not a class or namespace
2026-03-13T16:32:51.0777142Z 1599 | while ((i < vpDetectorAprilTag::vpPoseEstimationMethod::POSE_COUNT) && (!wasFound)) {
2026-03-13T16:32:51.0807626Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0810088Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp: In static member function ‘static std::string vpDetectorAprilTag::getAvailablePoseMethod(const std::string&, const std::string&, const std::string&)’:
2026-03-13T16:32:51.0812997Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1616:52: error: ‘vpDetectorAprilTag::vpPoseEstimationMethod’ is not a class or namespace
2026-03-13T16:32:51.0814949Z 1616 | for (unsigned int i = 0; i < vpDetectorAprilTag::vpPoseEstimationMethod::POSE_COUNT - 1; ++i) {
2026-03-13T16:32:51.0815783Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-03-13T16:32:51.0817655Z /home/runner/work/visp/visp/modules/detection/src/tag/vpDetectorAprilTag.cpp:1620:134: error: ‘vpDetectorAprilTag::vpPoseEstimationMethod’ is not a class or namespace
2026-03-13T16:32:51.0820192Z 1620 | vpDetectorAprilTag::vpPoseEstimationMethod candidate = static_cast<vpDetectorAprilTag::vpPoseEstimationMethod>(vpDetectorAprilTag::vpPoseEstimationMethod::POSE_COUNT - 1);
2026-03-13T16:32:51.0821890Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-03-13T16:32:51.2220198Z make[2]: *** [modules/detection/CMakeFiles/visp_detection.dir/build.make:138: modules/detection/CMakeFiles/visp_detection.dir/src/tag/vpDetectorAprilTag.cpp.o] Error 1The C++98 build on GHA is broken for some time. |
Contributor
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1927 +/- ##
==========================================
- Coverage 48.44% 48.41% -0.03%
==========================================
Files 532 532
Lines 69328 69328
Branches 32424 32424
==========================================
- Hits 33584 33566 -18
- Misses 25028 31515 +6487
+ Partials 10716 4247 -6469 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
In file included from visp/modules/tracker/mbt/include/visp3/mbt/vpMbDepthDenseTracker.h:41,
from visp/modules/tracker/mbt/include/visp3/mbt/vpMbGenericTracker.h:43,
from visp/modules/tracker/mbt/src/vpMbGenericTracker.cpp:34:
visp/modules/tracker/mbt/include/visp3/mbt/vpMbtTukeyEstimator.h:138:52: warning: ‘template<class _Arg1, class _Arg2, class _Result> struct std::binary_function’ is deprecated [-Wdeprecated-declarations]
138 | template <typename T> struct AbsDiff : public std::binary_function<T, T, T>
| ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/string:49,
from /usr/include/c++/13/bitset:52,
from /usr/include/c++/13/regex:40,
from visp-build/include/visp3/core/vpConfig.h:639,
from visp/modules/tracker/mbt/include/visp3/mbt/vpMbGenericTracker.h:42:
/usr/include/c++/13/bits/stl_function.h:131:12: note: declared here
131 | struct binary_function
| ^~~~~~~~~~~~~~~
…more as a string)
…Closes 1929
ur_rtde 3rdparty is forcing the standard to C++11.
This could be seen in /usr/lib/x86_64-linux-gnu/cmake/ur_rtde/ur_rtdeBuildConfig.cmake where we can found
if ("${CMAKE_CXX_STANDARD}" STREQUAL "")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
elseif(${CMAKE_CXX_STANDARD} LESS_EQUAL 11 OR ${CMAKE_CXX_STANDARD} EQUAL 98 )
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()
…1930 Vicon SDK requires at least c++11 standard. There is the build issue when c++98 is set and VISP_HAVE_VICON is defined In file included from visp/modules/sensor/src/mocap/vpMocapVicon.cpp:44: visp-ws/3rdparty/vicon/20230413_145507h/Release/Linux64/DataStreamClient.h:43:10: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type 43 | std::shared_ptr< std::vector< unsigned char > > m_Data; | ^~~~~~~~~~
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


vpDetectorAprilTag.cppwhen cxx98 enabledvpColVectorclass