Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mrpt_examples_cpp at Robotics Stack Exchange
Package Summary
| Version | 2.20.0 |
| License | BSD |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MRPT/mrpt.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-15 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
How to create new C++ examples
This directory contains a collection of example applications for the Mobile Robot Programming Toolkit (MRPT).
In MRPT v3, these examples are designed as independent CMake projects that can be built standalone or within a colcon workspace.
🚀 How to Add a New Example
Follow these steps to add a new example to the MRPT tree:
-
Create the Directory:
Create a folder named after your example in
[MRPT]/mrpt_examples_cpp/.-
Example:
[MRPT]/mrpt_examples_cpp/my_feature_demo/.
-
Example:
-
Add Source Code: Save your C++ file (typically
main.cpp) in that directory. -
Register the Example:
Open
generate_cmake_files.cmakeand add your example name to the relevantLIST_EXAMPLES_IN_THIS_DIRblock.- Ensure you set
CMAKE_EXAMPLE_DEPSusing the v3 namespaced format (e.g.,mrpt::mrpt_math).
- Ensure you set
-
Generate the Build Script:
From the command line, run the generator script to create the local
CMakeLists.txt:
cmake -DMRPT_SOURCE_DIR=. -P generate_cmake_files.cmake
-
Commit Files:
Add both your source code and the generated
CMakeLists.txtto version control:
git add my_feature_demo/main.cpp my_feature_demo/CMakeLists.txt
🛠 Build System Details
Standalone Generation
The generate_cmake_files.cmake script uses CMakeLists_template.txt.in to produce a unique CMakeLists.txt for every example. Unlike previous versions, the v3 template “unrolls” dependencies so that each example contains explicit find_package() and target_link_libraries() calls without complex loops.
Module Dependencies (v3)
Dependencies must be defined using the namespaced target format:
-
Correct:
mrpt::mrpt_core,mrpt::mrpt_system,mrpt::mrpt_gui. -
Internal logic: The generator automatically strips the
mrpt::prefix to handlefind_package(mrpt_xxx)while retaining the full namespace for linking.
📸 Optional: Documentation
To include your example in the official documentation:
- Add a
README.mdand a screenshot in the example directory. - Place the screenshot in
[MRPT]/doc/source/images/. - Run
[MRPT]/scripts/generate_rst_docs_examples.sh.
Package Dependencies
| Deps | Name |
|---|---|
| mrpt_common | |
| mrpt_gui | |
| mrpt_imgui | |
| mrpt_graphslam | |
| mrpt_libapps_cli | |
| mrpt_libapps_gui | |
| mrpt_nav | |
| mrpt_data |
System Dependencies
| Name |
|---|
| cmake |