FTXUI编译和使用(不含ROS1/2)

Posted zhangrelay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTXUI编译和使用(不含ROS1/2)相关的知识,希望对你有一定的参考价值。


和ROS1/2融合的例子后续补充,先介绍基础内容,

FTXUI是C++编写的适用:

  • win
  • linux
  • macos
  • ……

命令行UI。


下载FTXUI源码,然后,编译即可:

mkdir build

cmake ..

make

看一看效果?

按钮示例

FTXUI编译和使用(不含ROS1/2)_ide

颜色调节

FTXUI编译和使用(不含ROS1/2)_html_02

 

FTXUI编译和使用(不含ROS1/2)_ui_03

 

曲线图等

FTXUI编译和使用(不含ROS1/2)_ide_04

 


最简单的例子:

#include <ftxui/dom/elements.hpp>#include <ftxui/screen/screen.hpp>
#include <iostream>
int main(void)
using namespace ftxui;
// Define the document
Element document =
hbox(
text("left") | border,
text("middle") | border | flex,
text("right") | border,
);
auto screen = Screen::Create(
Dimension::Full(), // Width
Dimension::Fit(document) // Height
);
Render(screen, document);
screen.Print();
return EXIT_SUCCESS;

效果: 

FTXUI编译和使用(不含ROS1/2)_ui_05

该项目由3个模块组成:

  • ftxui/screen定义了一个ftxui::Screen, 一个ftxui::Pixel.
  • ftxui/dom是主要模块。它定义了一个分层的集合ftxui::Element。一个元素在ftxui::Screen. 它响应容器的大小。
  • ftxui/component如果您的程序需要响应用户输入,则需要该模块。它定义了一组ftxui::Component. 这些组件可用于通过使用箭头键和与复选框等小部件进行交互来导航程序。您也可以制作自己的组件。用户可以使用箭头键进行导航,并与复选框/输入框/...等小部件进行交互。您可以创建自己的组件。

 


zhangrelay@LAPTOP-5REQ7K1L:~/cppcode$ unzip FTXUI.zip
Archive: FTXUI.zip
d5044bdaafb9e4f2e1eb017d853ee3600fa00022
creating: FTXUI-master/
inflating: FTXUI-master/.clang-format
inflating: FTXUI-master/.clang-tidy
creating: FTXUI-master/.github/
extracting: FTXUI-master/.github/FUNDING.yml
creating: FTXUI-master/.github/workflows/
inflating: FTXUI-master/.github/workflows/build.yaml
inflating: FTXUI-master/CHANGELOG.md
inflating: FTXUI-master/CMakeLists.txt
inflating: FTXUI-master/LICENSE
inflating: FTXUI-master/README.md
creating: FTXUI-master/cmake/
inflating: FTXUI-master/cmake/ftxui_benchmark.cmake
inflating: FTXUI-master/cmake/ftxui_coverage.cmake
inflating: FTXUI-master/cmake/ftxui_export.cmake
inflating: FTXUI-master/cmake/ftxui_fuzzer.cmake
inflating: FTXUI-master/cmake/ftxui_install.cmake
inflating: FTXUI-master/cmake/ftxui_package.cmake
inflating: FTXUI-master/cmake/ftxui_set_options.cmake
inflating: FTXUI-master/cmake/ftxui_test.cmake
inflating: FTXUI-master/cmake/iwyu.cmake
creating: FTXUI-master/doc/
inflating: FTXUI-master/doc/CMakeLists.txt
inflating: FTXUI-master/doc/Doxyfile.in
inflating: FTXUI-master/doc/doxygen_extra.css
inflating: FTXUI-master/doc/doxygen_footer.html
inflating: FTXUI-master/doc/doxygen_header.html
inflating: FTXUI-master/doc/doxygen_layout.xml
inflating: FTXUI-master/doc/mainpage.md
creating: FTXUI-master/examples/
inflating: FTXUI-master/examples/CMakeLists.txt
creating: FTXUI-master/examples/component/
inflating: FTXUI-master/examples/component/CMakeLists.txt
inflating: FTXUI-master/examples/component/button.cpp
inflating: FTXUI-master/examples/component/button_animated.cpp
inflating: FTXUI-master/examples/component/button_in_frame.cpp
inflating: FTXUI-master/examples/component/button_style.cpp
inflating: FTXUI-master/examples/component/canvas_animated.cpp
inflating: FTXUI-master/examples/component/checkbox.cpp
inflating: FTXUI-master/examples/component/checkbox_in_frame.cpp
inflating: FTXUI-master/examples/component/collapsible.cpp
inflating: FTXUI-master/examples/component/composition.cpp
inflating: FTXUI-master/examples/component/dropdown.cpp
inflating: FTXUI-master/examples/component/flexbox_gallery.cpp
inflating: FTXUI-master/examples/component/focus.cpp
inflating: FTXUI-master/examples/component/gallery.cpp
inflating: FTXUI-master/examples/component/homescreen.cpp
inflating: FTXUI-master/examples/component/homescreen.gif
inflating: FTXUI-master/examples/component/input.cpp
inflating: FTXUI-master/examples/component/maybe.cpp
inflating: FTXUI-master/examples/component/menu.cpp
inflating: FTXUI-master/examples/component/menu2.cpp
inflating: FTXUI-master/examples/component/menu_entries.cpp
inflating: FTXUI-master/examples/component/menu_entries_animated.cpp
inflating: FTXUI-master/examples/component/menu_in_frame.cpp
inflating: FTXUI-master/examples/component/menu_multiple.cpp
inflating: FTXUI-master/examples/component/menu_style.cpp
inflating: FTXUI-master/examples/component/menu_underline_animated_gallery.cpp
inflating: FTXUI-master/examples/component/modal_dialog.cpp
inflating: FTXUI-master/examples/component/modal_dialog_custom.cpp
inflating: FTXUI-master/examples/component/nested_screen.cpp
inflating: FTXUI-master/examples/component/print_key_press.cpp
inflating: FTXUI-master/examples/component/radiobox.cpp
inflating: FTXUI-master/examples/component/radiobox_in_frame.cpp
inflating: FTXUI-master/examples/component/renderer.cpp
inflating: FTXUI-master/examples/component/resizable_split.cpp
inflating: FTXUI-master/examples/component/slider.cpp
inflating: FTXUI-master/examples/component/slider_rgb.cpp
inflating: FTXUI-master/examples/component/tab_horizontal.cpp
inflating: FTXUI-master/examples/component/tab_vertical.cpp
inflating: FTXUI-master/examples/component/toggle.cpp
inflating: FTXUI-master/examples/component/with_restored_io.cpp
creating: FTXUI-master/examples/dom/
inflating: FTXUI-master/examples/dom/CMakeLists.txt
inflating: FTXUI-master/examples/dom/border.cpp
inflating: FTXUI-master/examples/dom/border_style.cpp
inflating: FTXUI-master/examples/dom/canvas.cpp
inflating: FTXUI-master/examples/dom/color_gallery.cpp
inflating: FTXUI-master/examples/dom/color_info_palette256.cpp
inflating: FTXUI-master/examples/dom/color_info_sorted_2d.ipp
inflating: FTXUI-master/examples/dom/color_truecolor_HSV.cpp
inflating: FTXUI-master/examples/dom/color_truecolor_RGB.cpp
inflating: FTXUI-master/examples/dom/dbox.cpp
inflating: FTXUI-master/examples/dom/gauge.cpp
inflating: FTXUI-master/examples/dom/gauge_direction.cpp
inflating: FTXUI-master/examples/dom/graph.cpp
inflating: FTXUI-master/examples/dom/gridbox.cpp
inflating: FTXUI-master/examples/dom/hflow.cpp
inflating: FTXUI-master/examples/dom/html_like.cpp
inflating: FTXUI-master/examples/dom/package_manager.cpp
inflating: FTXUI-master/examples/dom/paragraph.cpp
inflating: FTXUI-master/examples/dom/separator.cpp
inflating: FTXUI-master/examples/dom/separator_style.cpp
inflating: FTXUI-master/examples/dom/size.cpp
inflating: FTXUI-master/examples/dom/spinner.cpp
inflating: FTXUI-master/examples/dom/style_blink.cpp
inflating: FTXUI-master/examples/dom/style_bold.cpp
inflating: FTXUI-master/examples/dom/style_color.cpp
inflating: FTXUI-master/examples/dom/style_dim.cpp
inflating: FTXUI-master/examples/dom/style_gallery.cpp
inflating: FTXUI-master/examples/dom/style_inverted.cpp
inflating: FTXUI-master/examples/dom/style_underlined.cpp
inflating: FTXUI-master/examples/dom/table.cpp
inflating: FTXUI-master/examples/dom/vbox_hbox.cpp
inflating: FTXUI-master/examples/dom/vflow.cpp
inflating: FTXUI-master/examples/dom/window.cpp
creating: FTXUI-master/examples/html/
inflating: FTXUI-master/examples/html/test.html.disabled
inflating: FTXUI-master/examples/index.html
inflating: FTXUI-master/examples/run_webassembly.py
inflating: FTXUI-master/examples/sw.js
inflating: FTXUI-master/ftxui-config.cmake.in
creating: FTXUI-master/include/
creating: FTXUI-master/include/ftxui/
creating: FTXUI-master/include/ftxui/component/
inflating: FTXUI-master/include/ftxui/component/animation.hpp
inflating: FTXUI-master/include/ftxui/component/captured_mouse.hpp
inflating: FTXUI-master/include/ftxui/component/component.hpp
inflating: FTXUI-master/include/ftxui/component/component_base.hpp
inflating: FTXUI-master/include/ftxui/component/component_options.hpp
inflating: FTXUI-master/include/ftxui/component/event.hpp
inflating: FTXUI-master/include/ftxui/component/mouse.hpp
inflating: FTXUI-master/include/ftxui/component/receiver.hpp
inflating: FTXUI-master/include/ftxui/component/screen_interactive.hpp
inflating: FTXUI-master/include/ftxui/component/task.hpp
creating: FTXUI-master/include/ftxui/dom/
inflating: FTXUI-master/include/ftxui/dom/canvas.hpp
inflating: FTXUI-master/include/ftxui/dom/deprecated.hpp
inflating: FTXUI-master/include/ftxui/dom/elements.hpp
inflating: FTXUI-master/include/ftxui/dom/flexbox_config.hpp
inflating: FTXUI-master/include/ftxui/dom/node.hpp
inflating: FTXUI-master/include/ftxui/dom/requirement.hpp
inflating: FTXUI-master/include/ftxui/dom/table.hpp
inflating: FTXUI-master/include/ftxui/dom/take_any_args.hpp
creating: FTXUI-master/include/ftxui/screen/
inflating: FTXUI-master/include/ftxui/screen/box.hpp
inflating: FTXUI-master/include/ftxui/screen/color.hpp
inflating: FTXUI-master/include/ftxui/screen/color_info.hpp
inflating: FTXUI-master/include/ftxui/screen/deprecated.hpp
inflating: FTXUI-master/include/ftxui/screen/screen.hpp
inflating: FTXUI-master/include/ftxui/screen/string.hpp
inflating: FTXUI-master/include/ftxui/screen/terminal.hpp
creating: FTXUI-master/include/ftxui/util/
inflating: FTXUI-master/include/ftxui/util/autoreset.hpp
inflating: FTXUI-master/include/ftxui/util/ref.hpp
inflating: FTXUI-master/iwyu.imp
creating: FTXUI-master/src/
creating: FTXUI-master/src/ftxui/
creating: FTXUI-master/src/ftxui/component/
inflating: FTXUI-master/src/ftxui/component/animation.cpp
inflating: FTXUI-master/src/ftxui/component/animation_test.cpp
inflating: FTXUI-master/src/ftxui/component/button.cpp
inflating: FTXUI-master/src/ftxui/component/button_test.cpp
inflating: FTXUI-master/src/ftxui/component/catch_event.cpp
inflating: FTXUI-master/src/ftxui/component/checkbox.cpp
inflating: FTXUI-master/src/ftxui/component/collapsible.cpp
inflating: FTXUI-master/src/ftxui/component/collapsible_test.cpp
inflating: FTXUI-master/src/ftxui/component/component.cpp
inflating: FTXUI-master/src/ftxui/component/component_fuzzer.cpp
inflating: FTXUI-master/src/ftxui/component/component_options.cpp
inflating: FTXUI-master/src/ftxui/component/component_test.cpp
inflating: FTXUI-master/src/ftxui/component/container.cpp
inflating: FTXUI-master/src/ftxui/component/container_test.cpp
inflating: FTXUI-master/src/ftxui/component/dropdown.cpp
inflating: FTXUI-master/src/ftxui/component/event.cpp
inflating: FTXUI-master/src/ftxui/component/input.cpp
inflating: FTXUI-master/src/ftxui/component/input_test.cpp
inflating: FTXUI-master/src/ftxui/component/maybe.cpp
inflating: FTXUI-master/src/ftxui/component/menu.cpp
inflating: FTXUI-master/src/ftxui/component/menu_test.cpp
inflating: FTXUI-master/src/ftxui/component/modal.cpp
inflating: FTXUI-master/src/ftxui/component/modal_test.cpp
inflating: FTXUI-master/src/ftxui/component/radiobox.cpp
inflating: FTXUI-master/src/ftxui/component/radiobox_test.cpp
inflating: FTXUI-master/src/ftxui/component/receiver_test.cpp
inflating: FTXUI-master/src/ftxui/component/renderer.cpp
inflating: FTXUI-master/src/ftxui/component/resizable_split.cpp
inflating: FTXUI-master/src/ftxui/component/resizable_split_test.cpp
inflating: FTXUI-master/src/ftxui/component/screen_interactive.cpp
inflating: FTXUI-master/src/ftxui/component/screen_interactive_test.cpp
inflating: FTXUI-master/src/ftxui/component/slider.cpp
inflating: FTXUI-master/src/ftxui/component/terminal_input_parser.cpp
inflating: FTXUI-master/src/ftxui/component/terminal_input_parser.hpp
inflating: FTXUI-master/src/ftxui/component/terminal_input_parser_test.cpp
inflating: FTXUI-master/src/ftxui/component/terminal_input_parser_test_fuzzer.cpp
inflating: FTXUI-master/src/ftxui/component/toggle_test.cpp
inflating: FTXUI-master/src/ftxui/component/util.cpp
creating: FTXUI-master/src/ftxui/dom/
inflating: FTXUI-master/src/ftxui/dom/automerge.cpp
inflating: FTXUI-master/src/ftxui/dom/benchmark_test.cpp
inflating: FTXUI-master/src/ftxui/dom/blink.cpp
inflating: FTXUI-master/src/ftxui/dom/blink_test.cpp
inflating: FTXUI-master/src/ftxui/dom/bold.cpp
inflating: FTXUI-master/src/ftxui/dom/bold_test.cpp
inflating: FTXUI-master/src/ftxui/dom/border.cpp
inflating: FTXUI-master/src/ftxui/dom/border_test.cpp
inflating: FTXUI-master/src/ftxui/dom/box_helper.cpp
inflating: FTXUI-master/src/ftxui/dom/box_helper.hpp
inflating: FTXUI-master/src/ftxui/dom/canvas.cpp
inflating: FTXUI-master/src/ftxui/dom/canvas_test.cpp
inflating: FTXUI-master/src/ftxui/dom/clear_under.cpp
inflating: FTXUI-master/src/ftxui/dom/color.cpp
inflating: FTXUI-master/src/ftxui/dom/color_test.cpp
inflating: FTXUI-master/src/ftxui/dom/composite_decorator.cpp
inflating: FTXUI-master/src/ftxui/dom/dbox.cpp
inflating: FTXUI-master/src/ftxui/dom/dbox_test.cpp
inflating: FTXUI-master/src/ftxui/dom/dim.cpp
inflating: FTXUI-master/src/ftxui/dom/dim_test.cpp
inflating: FTXUI-master/src/ftxui/dom/flex.cpp
inflating: FTXUI-master/src/ftxui/dom/flexbox.cpp
inflating: FTXUI-master/src/ftxui/dom/flexbox_config.cpp
inflating: FTXUI-master/src/ftxui/dom/flexbox_helper.cpp
inflating: FTXUI-master/src/ftxui/dom/flexbox_helper.hpp
inflating: FTXUI-master/src/ftxui/dom/flexbox_helper_test.cpp
inflating: FTXUI-master/src/ftxui/dom/flexbox_test.cpp
inflating: FTXUI-master/src/ftxui/dom/focus.cpp
inflating: FTXUI-master/src/ftxui/dom/frame.cpp
inflating: FTXUI-master/src/ftxui/dom/gauge.cpp
inflating: FTXUI-master/src/ftxui/dom/gauge_test.cpp
inflating: FTXUI-master/src/ftxui/dom/graph.cpp
inflating: FTXUI-master/src/ftxui/dom/gridbox.cpp
inflating: FTXUI-master/src/ftxui/dom/gridbox_test.cpp
inflating: FTXUI-master/src/ftxui/dom/hbox.cpp
inflating: FTXUI-master/src/ftxui/dom/hbox_test.cpp
inflating: FTXUI-master/src/ftxui/dom/inverted.cpp
inflating: FTXUI-master/src/ftxui/dom/node.cpp
inflating: FTXUI-master/src/ftxui/dom/node_decorator.cpp
inflating: FTXUI-master/src/ftxui/dom/node_decorator.hpp
inflating: FTXUI-master/src/ftxui/dom/paragraph.cpp
inflating: FTXUI-master/src/ftxui/dom/reflect.cpp
inflating: FTXUI-master/src/ftxui/dom/scroll_indicator.cpp
inflating: FTXUI-master/src/ftxui/dom/scroll_indicator_test.cpp
inflating: FTXUI-master/src/ftxui/dom/separator.cpp
inflating: FTXUI-master/src/ftxui/dom/separator_test.cpp
inflating: FTXUI-master/src/ftxui/dom/size.cpp
inflating: FTXUI-master/src/ftxui/dom/spinner.cpp
inflating: FTXUI-master/src/ftxui/dom/spinner_test.cpp
inflating: FTXUI-master/src/ftxui/dom/table.cpp
inflating: FTXUI-master/src/ftxui/dom/table_test.cpp
inflating: FTXUI-master/src/ftxui/dom/text.cpp
inflating: FTXUI-master/src/ftxui/dom/text_test.cpp
inflating: FTXUI-master/src/ftxui/dom/underlined.cpp
inflating: FTXUI-master/src/ftxui/dom/underlined_test.cpp
inflating: FTXUI-master/src/ftxui/dom/util.cpp
inflating: FTXUI-master/src/ftxui/dom/vbox.cpp
inflating: FTXUI-master/src/ftxui/dom/vbox_test.cpp
creating: FTXUI-master/src/ftxui/screen/
inflating: FTXUI-master/src/ftxui/screen/box.cpp
inflating: FTXUI-master/src/ftxui/screen/color.cpp
inflating: FTXUI-master/src/ftxui/screen/color_info.cpp
inflating: FTXUI-master/src/ftxui/screen/color_test.cpp
inflating: FTXUI-master/src/ftxui/screen/screen.cpp
inflating: FTXUI-master/src/ftxui/screen/string.cpp
inflating: FTXUI-master/src/ftxui/screen/string_test.cpp
inflating: FTXUI-master/src/ftxui/screen/terminal.cpp
inflating: FTXUI-master/src/ftxui/screen/util.hpp
inflating: FTXUI-master/src/ftxui/screen/wcwidth.cpp
creating: FTXUI-master/tools/
inflating: FTXUI-master/tools/format.sh
inflating: FTXUI-master/tools/iwyu.sh
inflating: FTXUI-master/tools/license_headers.cpp
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode$ ls
donut donut.cpp FTXUI-master FTXUI.zip FTXUI.zip:Zone.Identifier
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode$ cd FTXUI-master/
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode/FTXUI-master$ ls
CHANGELOG.md CMakeLists.txt examples include LICENSE src
cmake doc ftxui-config.cmake.in iwyu.imp README.md tools
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode/FTXUI-master$ mkdir build
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode/FTXUI-master$ cd build/
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode/FTXUI-master/build$ cmake ..
-- The CXX compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- clang-tidy found: /usr/bin/clang-tidy
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
Doxygen need to be installed to generate the doxygen documentation
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zhangrelay/cppcode/FTXUI-master/build
zhangrelay@LAPTOP-5REQ7K1L:~/cppcode/FTXUI-master/build$ make
[ 1%] Building CXX object CMakeFiles/screen.dir/src/ftxui/screen/box.cpp.o
[ 1%] Building CXX object CMakeFiles/screen.dir/src/ftxui/screen/color.cpp.o
[ 2%] Building CXX object CMakeFiles/screen.dir/src/ftxui/screen/color_info.cpp.o
[ 2%] Building CXX object CMakeFiles/screen.dir/src/ftxui/screen/screen.cpp.o
[ 3%] Building CXX object CMakeFiles/screen.dir/src/ftxui/screen/string.cpp.o
[ 3%] Building CXX object CMakeFiles/screen.dir/src/ftxui/screen/terminal.cpp.o
[ 4%] Linking CXX static library libftxui-screen.a
[ 4%] Built target screen
[ 5%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/automerge.cpp.o
[ 5%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/blink.cpp.o
[ 6%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/bold.cpp.o
[ 6%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/border.cpp.o
[ 7%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/box_helper.cpp.o
[ 7%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/canvas.cpp.o
[ 8%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/clear_under.cpp.o
[ 8%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/color.cpp.o
[ 9%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/composite_decorator.cpp.o
[ 9%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/dbox.cpp.o
[ 10%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/dim.cpp.o
[ 10%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/flex.cpp.o
[ 11%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/flexbox.cpp.o
[ 11%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/flexbox_config.cpp.o
[ 12%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/flexbox_helper.cpp.o
[ 12%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/focus.cpp.o
[ 13%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/frame.cpp.o
[ 13%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/gauge.cpp.o
[ 14%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/graph.cpp.o
[ 14%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/gridbox.cpp.o
[ 15%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/hbox.cpp.o
[ 15%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/inverted.cpp.o
[ 16%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/node.cpp.o
[ 16%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/node_decorator.cpp.o
[ 17%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/paragraph.cpp.o
[ 17%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/reflect.cpp.o
[ 18%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/scroll_indicator.cpp.o
[ 18%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/separator.cpp.o
[ 19%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/size.cpp.o
[ 19%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/spinner.cpp.o
[ 20%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/table.cpp.o
[ 20%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/text.cpp.o
[ 21%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/underlined.cpp.o
[ 21%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/util.cpp.o
[ 22%] Building CXX object CMakeFiles/dom.dir/src/ftxui/dom/vbox.cpp.o
[ 22%] Linking CXX static library libftxui-dom.a
[ 22%] Built target dom
[ 22%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/animation.cpp.o
[ 22%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/button.cpp.o
[ 23%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/catch_event.cpp.o
[ 23%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/checkbox.cpp.o
[ 24%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/collapsible.cpp.o
[ 24%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/component.cpp.o
[ 25%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/component_options.cpp.o
[ 25%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/container.cpp.o
[ 26%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/dropdown.cpp.o
[ 26%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/event.cpp.o
[ 27%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/input.cpp.o
[ 27%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/maybe.cpp.o
[ 28%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/modal.cpp.o
[ 28%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/menu.cpp.o
[ 29%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/radiobox.cpp.o
[ 29%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/renderer.cpp.o
[ 30%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/resizable_split.cpp.o
[ 30%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/screen_interactive.cpp.o
[ 31%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/slider.cpp.o
[ 31%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/terminal_input_parser.cpp.o
[ 32%] Building CXX object CMakeFiles/component.dir/src/ftxui/component/util.cpp.o
[ 32%] Linking CXX static library libftxui-component.a
[ 32%] Built target component
[ 33%] Building CXX object examples/component/CMakeFiles/ftxui_example_button.dir/button.cpp.o
[ 33%] Linking CXX executable ftxui_example_button
[ 33%] Built target ftxui_example_button
[ 34%] Building CXX object examples/component/CMakeFiles/ftxui_example_button_animated.dir/button_animated.cpp.o
[ 34%] Linking CXX executable ftxui_example_button_animated
[ 34%] Built target ftxui_example_button_animated
[ 35%] Building CXX object examples/component/CMakeFiles/ftxui_example_button_in_frame.dir/button_in_frame.cpp.o
[ 35%] Linking CXX executable ftxui_example_button_in_frame
[ 35%] Built target ftxui_example_button_in_frame
[ 35%] Building CXX object examples/component/CMakeFiles/ftxui_example_button_style.dir/button_style.cpp.o
[ 36%] Linking CXX executable ftxui_example_button_style
[ 36%] Built target ftxui_example_button_style
[ 36%] Building CXX object examples/component/CMakeFiles/ftxui_example_canvas_animated.dir/canvas_animated.cpp.o
[ 37%] Linking CXX executable ftxui_example_canvas_animated
[ 37%] Built target ftxui_example_canvas_animated
[ 37%] Building CXX object examples/component/CMakeFiles/ftxui_example_checkbox.dir/checkbox.cpp.o
[ 38%] Linking CXX executable ftxui_example_checkbox
[ 38%] Built target ftxui_example_checkbox
[ 38%] Building CXX object examples/component/CMakeFiles/ftxui_example_checkbox_in_frame.dir/checkbox_in_frame.cpp.o
[ 39%] Linking CXX executable ftxui_example_checkbox_in_frame
[ 39%] Built target ftxui_example_checkbox_in_frame
[ 39%] Building CXX object examples/component/CMakeFiles/ftxui_example_collapsible.dir/collapsible.cpp.o
[ 40%] Linking CXX executable ftxui_example_collapsible
[ 40%] Built target ftxui_example_collapsible
[ 40%] Building CXX object examples/component/CMakeFiles/ftxui_example_composition.dir/composition.cpp.o
[ 41%] Linking CXX executable ftxui_example_composition
[ 41%] Built target ftxui_example_composition
[ 41%] Building CXX object examples/component/CMakeFiles/ftxui_example_dropdown.dir/dropdown.cpp.o
[ 42%] Linking CXX executable ftxui_example_dropdown
[ 42%] Built target ftxui_example_dropdown
[ 42%] Building CXX object examples/component/CMakeFiles/ftxui_example_flexbox_gallery.dir/flexbox_gallery.cpp.o
[ 43%] Linking CXX executable ftxui_example_flexbox_gallery
[ 43%] Built target ftxui_example_flexbox_gallery
[ 43%] Building CXX object examples/component/CMakeFiles/ftxui_example_focus.dir/focus.cpp.o
[ 44%] Linking CXX executable ftxui_example_focus
[ 44%] Built target ftxui_example_focus
[ 44%] Building CXX object examples/component/CMakeFiles/ftxui_example_gallery.dir/gallery.cpp.o
[ 45%] Linking CXX executable ftxui_example_gallery
[ 45%] Built target ftxui_example_gallery
[ 45%] Building CXX object examples/component/CMakeFiles/ftxui_example_homescreen.dir/homescreen.cpp.o
[ 46%] Linking CXX executable ftxui_example_homescreen
[ 46%] Built target ftxui_example_homescreen
[ 46%] Building CXX object examples/component/CMakeFiles/ftxui_example_input.dir/input.cpp.o
[ 47%] Linking CXX executable ftxui_example_input
[ 47%] Built target ftxui_example_input
[ 47%] Building CXX object examples/component/CMakeFiles/ftxui_example_maybe.dir/maybe.cpp.o
[ 48%] Linking CXX executable ftxui_example_maybe
[ 48%] Built target ftxui_example_maybe
[ 48%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu.dir/menu.cpp.o
[ 49%] Linking CXX executable ftxui_example_menu
[ 49%] Built target ftxui_example_menu
[ 49%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu2.dir/menu2.cpp.o
[ 50%] Linking CXX executable ftxui_example_menu2
[ 50%] Built target ftxui_example_menu2
[ 50%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu_entries.dir/menu_entries.cpp.o
[ 51%] Linking CXX executable ftxui_example_menu_entries
[ 51%] Built target ftxui_example_menu_entries
[ 51%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu_entries_animated.dir/menu_entries_animated.cpp.o
[ 52%] Linking CXX executable ftxui_example_menu_entries_animated
[ 52%] Built target ftxui_example_menu_entries_animated
[ 52%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu_in_frame.dir/menu_in_frame.cpp.o
[ 53%] Linking CXX executable ftxui_example_menu_in_frame
[ 53%] Built target ftxui_example_menu_in_frame
[ 53%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu_multiple.dir/menu_multiple.cpp.o
[ 54%] Linking CXX executable ftxui_example_menu_multiple
[ 54%] Built target ftxui_example_menu_multiple
[ 54%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu_style.dir/menu_style.cpp.o
[ 55%] Linking CXX executable ftxui_example_menu_style
[ 55%] Built target ftxui_example_menu_style
[ 55%] Building CXX object examples/component/CMakeFiles/ftxui_example_menu_underline_animated_gallery.dir/menu_underline_animated_gallery.cpp.o
[ 56%] Linking CXX executable ftxui_example_menu_underline_animated_gallery
[ 56%] Built target ftxui_example_menu_underline_animated_gallery
[ 56%] Building CXX object examples/component/CMakeFiles/ftxui_example_modal_dialog.dir/modal_dialog.cpp.o
[ 56%] Linking CXX executable ftxui_example_modal_dialog
[ 56%] Built target ftxui_example_modal_dialog
[ 57%] Building CXX object examples/component/CMakeFiles/ftxui_example_modal_dialog_custom.dir/modal_dialog_custom.cpp.o
[ 57%] Linking CXX executable ftxui_example_modal_dialog_custom
[ 57%] Built target ftxui_example_modal_dialog_custom
[ 58%] Building CXX object examples/component/CMakeFiles/ftxui_example_nested_screen.dir/nested_screen.cpp.o
[ 58%] Linking CXX executable ftxui_example_nested_screen
[ 58%] Built target ftxui_example_nested_screen
[ 59%] Building CXX object examples/component/CMakeFiles/ftxui_example_print_key_press.dir/print_key_press.cpp.o
[ 59%] Linking CXX executable ftxui_example_print_key_press
[ 59%] Built target ftxui_example_print_key_press
[ 60%] Building CXX object examples/component/CMakeFiles/ftxui_example_radiobox.dir/radiobox.cpp.o
[ 60%] Linking CXX executable ftxui_example_radiobox
[ 60%] Built target ftxui_example_radiobox
[ 61%] Building CXX object examples/component/CMakeFiles/ftxui_example_radiobox_in_frame.dir/radiobox_in_frame.cpp.o
[ 61%] Linking CXX executable ftxui_example_radiobox_in_frame
[ 61%] Built target ftxui_example_radiobox_in_frame
[ 62%] Building CXX object examples/component/CMakeFiles/ftxui_example_renderer.dir/renderer.cpp.o
[ 62%] Linking CXX executable ftxui_example_renderer
[ 62%] Built target ftxui_example_renderer
[ 63%] Building CXX object examples/component/CMakeFiles/ftxui_example_resizable_split.dir/resizable_split.cpp.o
[ 63%] Linking CXX executable ftxui_example_resizable_split
[ 63%] Built target ftxui_example_resizable_split
[ 64%] Building CXX object examples/component/CMakeFiles/ftxui_example_slider.dir/slider.cpp.o
[ 64%] Linking CXX executable ftxui_example_slider
[ 64%] Built target ftxui_example_slider
[ 65%] Building CXX object examples/component/CMakeFiles/ftxui_example_slider_rgb.dir/slider_rgb.cpp.o
[ 65%] Linking CXX executable ftxui_example_slider_rgb
[ 65%] Built target ftxui_example_slider_rgb
[ 66%] Building CXX object examples/component/CMakeFiles/ftxui_example_tab_horizontal.dir/tab_horizontal.cpp.o
[ 66%] Linking CXX executable ftxui_example_tab_horizontal
[ 66%] Built target ftxui_example_tab_horizontal
[ 67%] Building CXX object examples/component/CMakeFiles/ftxui_example_tab_vertical.dir/tab_vertical.cpp.o
[ 67%] Linking CXX executable ftxui_example_tab_vertical
[ 67%] Built target ftxui_example_tab_vertical
[ 68%] Building CXX object examples/component/CMakeFiles/ftxui_example_toggle.dir/toggle.cpp.o
[ 68%] Linking CXX executable ftxui_example_toggle
[ 68%] Built target ftxui_example_toggle
[ 69%] Building CXX object examples/component/CMakeFiles/ftxui_example_with_restored_io.dir/with_restored_io.cpp.o
[ 69%] Linking CXX executable ftxui_example_with_restored_io
[ 69%] Built target ftxui_example_with_restored_io
[ 70%] Building CXX object examples/dom/CMakeFiles/ftxui_example_border.dir/border.cpp.o
[ 70%] Linking CXX executable ftxui_example_border
[ 70%] Built target ftxui_example_border
[ 71%] Building CXX object examples/dom/CMakeFiles/ftxui_example_border_style.dir/border_style.cpp.o
[ 71%] Linking CXX executable ftxui_example_border_style
[ 71%] Built target ftxui_example_border_style
[ 71%] Building CXX object examples/dom/CMakeFiles/ftxui_example_color_gallery.dir/color_gallery.cpp.o
[ 72%] Linking CXX executable ftxui_example_color_gallery
[ 72%] Built target ftxui_example_color_gallery
[ 72%] Building CXX object examples/dom/CMakeFiles/ftxui_example_color_info_palette256.dir/color_info_palette256.cpp.o
[ 73%] Linking CXX executable ftxui_example_color_info_palette256
[ 73%] Built target ftxui_example_color_info_palette256
[ 73%] Building CXX object examples/dom/CMakeFiles/ftxui_example_color_truecolor_HSV.dir/color_truecolor_HSV.cpp.o
[ 74%] Linking CXX executable ftxui_example_color_truecolor_HSV
[ 74%] Built target ftxui_example_color_truecolor_HSV
[ 74%] Building CXX object examples/dom/CMakeFiles/ftxui_example_color_truecolor_RGB.dir/color_truecolor_RGB.cpp.o
[ 75%] Linking CXX executable ftxui_example_color_truecolor_RGB
[ 75%] Built target ftxui_example_color_truecolor_RGB
[ 75%] Building CXX object examples/dom/CMakeFiles/ftxui_example_dbox.dir/dbox.cpp.o
[ 76%] Linking CXX executable ftxui_example_dbox
[ 76%] Built target ftxui_example_dbox
[ 76%] Building CXX object examples/dom/CMakeFiles/ftxui_example_canvas.dir/canvas.cpp.o
[ 77%] Linking CXX executable ftxui_example_canvas
[ 77%] Built target ftxui_example_canvas
[ 77%] Building CXX object examples/dom/CMakeFiles/ftxui_example_gauge.dir/gauge.cpp.o
[ 78%] Linking CXX executable ftxui_example_gauge
[ 78%] Built target ftxui_example_gauge
[ 78%] Building CXX object examples/dom/CMakeFiles/ftxui_example_gauge_direction.dir/gauge_direction.cpp.o
[ 79%] Linking CXX executable ftxui_example_gauge_direction
[ 79%] Built target ftxui_example_gauge_direction
[ 79%] Building CXX object examples/dom/CMakeFiles/ftxui_example_graph.dir/graph.cpp.o
[ 80%] Linking CXX executable ftxui_example_graph
[ 80%] Built target ftxui_example_graph
[ 80%] Building CXX object examples/dom/CMakeFiles/ftxui_example_gridbox.dir/gridbox.cpp.o
[ 81%] Linking CXX executable ftxui_example_gridbox
[ 81%] Built target ftxui_example_gridbox
[ 81%] Building CXX object examples/dom/CMakeFiles/ftxui_example_hflow.dir/hflow.cpp.o
[ 82%] Linking CXX executable ftxui_example_hflow
[ 82%] Built target ftxui_example_hflow
[ 82%] Building CXX object examples/dom/CMakeFiles/ftxui_example_html_like.dir/html_like.cpp.o
[ 83%] Linking CXX executable ftxui_example_html_like
[ 83%] Built target ftxui_example_html_like
[ 84%] Building CXX object examples/dom/CMakeFiles/ftxui_example_package_manager.dir/package_manager.cpp.o
[ 84%] Linking CXX executable ftxui_example_package_manager
[ 84%] Built target ftxui_example_package_manager
[ 85%] Building CXX object examples/dom/CMakeFiles/ftxui_example_paragraph.dir/paragraph.cpp.o
[ 85%] Linking CXX executable ftxui_example_paragraph
[ 85%] Built target ftxui_example_paragraph
[ 86%] Building CXX object examples/dom/CMakeFiles/ftxui_example_separator.dir/separator.cpp.o
[ 86%] Linking CXX executable ftxui_example_separator
[ 86%] Built target ftxui_example_separator
[ 87%] Building CXX object examples/dom/CMakeFiles/ftxui_example_separator_style.dir/separator_style.cpp.o
[ 87%] Linking CXX executable ftxui_example_separator_style
[ 87%] Built target ftxui_example_separator_style
[ 88%] Building CXX object examples/dom/CMakeFiles/ftxui_example_size.dir/size.cpp.o
[ 88%] Linking CXX executable ftxui_example_size
[ 88%] Built target ftxui_example_size
[ 89%] Building CXX object examples/dom/CMakeFiles/ftxui_example_spinner.dir/spinner.cpp.o
[ 89%] Linking CXX executable ftxui_example_spinner
[ 89%] Built target ftxui_example_spinner
[ 90%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_blink.dir/style_blink.cpp.o
[ 90%] Linking CXX executable ftxui_example_style_blink
[ 90%] Built target ftxui_example_style_blink
[ 91%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_bold.dir/style_bold.cpp.o
[ 91%] Linking CXX executable ftxui_example_style_bold
[ 91%] Built target ftxui_example_style_bold
[ 92%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_color.dir/style_color.cpp.o
[ 92%] Linking CXX executable ftxui_example_style_color
[ 92%] Built target ftxui_example_style_color
[ 93%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_dim.dir/style_dim.cpp.o
[ 93%] Linking CXX executable ftxui_example_style_dim
[ 93%] Built target ftxui_example_style_dim
[ 94%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_gallery.dir/style_gallery.cpp.o
[ 94%] Linking CXX executable ftxui_example_style_gallery
[ 94%] Built target ftxui_example_style_gallery
[ 95%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_inverted.dir/style_inverted.cpp.o
[ 95%] Linking CXX executable ftxui_example_style_inverted
[ 95%] Built target ftxui_example_style_inverted
[ 96%] Building CXX object examples/dom/CMakeFiles/ftxui_example_style_underlined.dir/style_underlined.cpp.o
[ 96%] Linking CXX executable ftxui_example_style_underlined
[ 96%] Built target ftxui_example_style_underlined
[ 97%] Building CXX object examples/dom/CMakeFiles/ftxui_example_table.dir/table.cpp.o
[ 97%] Linking CXX executable ftxui_example_table
[ 97%] Built target ftxui_example_table
[ 98%] Building CXX object examples/dom/CMakeFiles/ftxui_example_vbox_hbox.dir/vbox_hbox.cpp.o
[ 98%] Linking CXX executable ftxui_example_vbox_hbox
[ 98%] Built target ftxui_example_vbox_hbox
[ 99%] Building CXX object examples/dom/CMakeFiles/ftxui_example_vflow.dir/vflow.cpp.o
[ 99%] Linking CXX executable ftxui_example_vflow
[ 99%] Built target ftxui_example_vflow
[100%] Building CXX object examples/dom/CMakeFiles/ftxui_example_window.dir/window.cpp.o
[100%] Linking CXX executable ftxui_example_window
[100%] Built target ftxui_example_window

以上是关于FTXUI编译和使用(不含ROS1/2)的主要内容,如果未能解决你的问题,请参考以下文章

FTXUI编译和使用(不含ROS1/2)

FTXUI编译和使用(不含ROS1/2)Linux手机或平板版本

FTXUI按键和ROS2 CLI组合使用笔记(turtlesim+teleop)

FTXUI基础笔记(hello world)

FTXUI基础笔记(botton按钮组件进阶)

FTXUI基础笔记(botton按钮组件基础)