From 599cb4ad9274fb45490ab293cadfd93319957024 Mon Sep 17 00:00:00 2001 From: xiaoliangstd <2303335747@qq.com> Date: Fri, 7 Apr 2023 16:51:24 +0800 Subject: [PATCH] update lib with lower gcc version and README.md --- CMakeLists.txt | 28 +- README.md | 8 +- build/CMakeCache.txt | 366 ++++++++++ build/CMakeFiles/3.16.3/CMakeCCompiler.cmake | 76 ++ .../CMakeFiles/3.16.3/CMakeCXXCompiler.cmake | 88 +++ .../3.16.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16544 bytes .../3.16.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 16560 bytes build/CMakeFiles/3.16.3/CMakeSystem.cmake | 15 + .../3.16.3/CompilerIdC/CMakeCCompilerId.c | 671 ++++++++++++++++++ build/CMakeFiles/3.16.3/CompilerIdC/a.out | Bin 0 -> 16704 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 660 +++++++++++++++++ build/CMakeFiles/3.16.3/CompilerIdCXX/a.out | Bin 0 -> 16712 bytes .../CMakeDirectoryInformation.cmake | 16 + build/CMakeFiles/CMakeOutput.log | 471 ++++++++++++ build/CMakeFiles/Makefile.cmake | 50 ++ build/CMakeFiles/Makefile2 | 135 ++++ build/CMakeFiles/TargetDirectories.txt | 4 + .../CMakeFiles/changeID.dir/CXX.includecache | 82 +++ .../CMakeFiles/changeID.dir/DependInfo.cmake | 21 + build/CMakeFiles/changeID.dir/build.make | 98 +++ .../CMakeFiles/changeID.dir/cmake_clean.cmake | 10 + build/CMakeFiles/changeID.dir/depend.internal | 10 + build/CMakeFiles/changeID.dir/depend.make | 10 + .../changeID.dir/example/changeID.cpp.o | Bin 0 -> 7376 bytes build/CMakeFiles/changeID.dir/flags.make | 10 + build/CMakeFiles/changeID.dir/link.txt | 1 + build/CMakeFiles/changeID.dir/progress.make | 3 + build/CMakeFiles/cmake.check_cache | 1 + .../CMakeFiles/motorctrl.dir/CXX.includecache | 76 ++ .../CMakeFiles/motorctrl.dir/DependInfo.cmake | 21 + build/CMakeFiles/motorctrl.dir/build.make | 98 +++ .../motorctrl.dir/cmake_clean.cmake | 10 + .../CMakeFiles/motorctrl.dir/depend.internal | 10 + build/CMakeFiles/motorctrl.dir/depend.make | 10 + .../motorctrl.dir/example/main.cpp.o | Bin 0 -> 7560 bytes build/CMakeFiles/motorctrl.dir/flags.make | 10 + build/CMakeFiles/motorctrl.dir/link.txt | 1 + build/CMakeFiles/motorctrl.dir/progress.make | 3 + build/CMakeFiles/progress.marks | 1 + build/Makefile | 222 ++++++ build/changeID | Bin 0 -> 18144 bytes build/cmake_install.cmake | 49 ++ build/motorctrl | Bin 0 -> 18128 bytes example/changeID.cpp | 116 +-- example/main.cpp | 71 +- include/IOPort/IOPort.h | 15 +- include/{CRC => crc}/crc32.h | 0 include/serialPort/SerialPort.h | 55 +- include/serialPort/include/errorClass.h | 4 +- include/unitreeMotor/include/motor_msg.h | 215 +++--- include/unitreeMotor/unitreeMotor.h | 153 ++-- lib/libunitreeMotorSDK_Arm32.so | Bin 35536 -> 0 bytes lib/libunitreeMotorSDK_Arm64.so | Bin 41368 -> 40984 bytes lib/libunitreeMotorSDK_Linux64.so | Bin 54944 -> 48488 bytes 54 files changed, 3614 insertions(+), 360 deletions(-) create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/3.16.3/CMakeCCompiler.cmake create mode 100644 build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake create mode 100755 build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin create mode 100755 build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build/CMakeFiles/3.16.3/CMakeSystem.cmake create mode 100644 build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c create mode 100755 build/CMakeFiles/3.16.3/CompilerIdC/a.out create mode 100644 build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 build/CMakeFiles/3.16.3/CompilerIdCXX/a.out create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/CMakeOutput.log create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/changeID.dir/CXX.includecache create mode 100644 build/CMakeFiles/changeID.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/changeID.dir/build.make create mode 100644 build/CMakeFiles/changeID.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/changeID.dir/depend.internal create mode 100644 build/CMakeFiles/changeID.dir/depend.make create mode 100644 build/CMakeFiles/changeID.dir/example/changeID.cpp.o create mode 100644 build/CMakeFiles/changeID.dir/flags.make create mode 100644 build/CMakeFiles/changeID.dir/link.txt create mode 100644 build/CMakeFiles/changeID.dir/progress.make create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/motorctrl.dir/CXX.includecache create mode 100644 build/CMakeFiles/motorctrl.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/motorctrl.dir/build.make create mode 100644 build/CMakeFiles/motorctrl.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/motorctrl.dir/depend.internal create mode 100644 build/CMakeFiles/motorctrl.dir/depend.make create mode 100644 build/CMakeFiles/motorctrl.dir/example/main.cpp.o create mode 100644 build/CMakeFiles/motorctrl.dir/flags.make create mode 100644 build/CMakeFiles/motorctrl.dir/link.txt create mode 100644 build/CMakeFiles/motorctrl.dir/progress.make create mode 100644 build/CMakeFiles/progress.marks create mode 100644 build/Makefile create mode 100755 build/changeID create mode 100644 build/cmake_install.cmake create mode 100755 build/motorctrl mode change 100755 => 100644 example/changeID.cpp rename include/{CRC => crc}/crc32.h (100%) delete mode 100755 lib/libunitreeMotorSDK_Arm32.so mode change 100755 => 100644 lib/libunitreeMotorSDK_Arm64.so diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f4602e..303a42e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,20 +5,18 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3") include_directories(include) link_directories(lib) -set(BITNESS 32) -if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(BITNESS 64) -endif() - if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") - IF(BITNESS EQUAL 64) - set(EXTRA_LIBS libunitreeMotorSDK_Arm64.so) - ELSEIF(BITNESS EQUAL 32) - set(EXTRA_LIBS libunitreeMotorSDK_Arm32.so) - ENDIF() -else() - set(EXTRA_LIBS libunitreeMotorSDK_Linux64.so) -endif() + add_executable(motorctrl example/main.cpp ) + target_link_libraries(motorctrl unitreeMotorSDK_Arm64) -add_executable(motorctrl example/main.cpp) -target_link_libraries(motorctrl ${EXTRA_LIBS}) \ No newline at end of file + add_executable(changeID example/changeID.cpp) + target_link_libraries(changeID unitreeMotorSDK_Arm64) + +else() + add_executable(motorctrl example/main.cpp ) + target_link_libraries(motorctrl unitreeMotorSDK_Linux64) + + add_executable(changeID example/changeID.cpp) + target_link_libraries(changeID unitreeMotorSDK_Linux64) + +endif() diff --git a/README.md b/README.md index 45b6569..a8ec386 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,16 @@ ### Notice -support motor: A1 motor、 B1 motor +support motor: A1 motor、 B1 motor not support motor: GO-M8010-6 motor (Check GO-M8010-6 branch for support) +gcc >= 5.4.0 (for libunitreeMotorSDK_Linux64.so) + +gcc >= 8.3.0 (for libunitreeMotorSDK_Arm64.so) + +run gcc -v command to check your gcc version + ### Build ```bash mkdir build diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..6349cb0 --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,366 @@ +# This is the CMakeCache file. +# For build in directory: /home/liang/Desktop/unitree_actuator_sdk/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=UnitreeMotorA1B1 + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +UnitreeMotorA1B1_BINARY_DIR:STATIC=/home/liang/Desktop/unitree_actuator_sdk/build + +//Value Computed by CMake +UnitreeMotorA1B1_SOURCE_DIR:STATIC=/home/liang/Desktop/unitree_actuator_sdk + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/liang/Desktop/unitree_actuator_sdk/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=16 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/liang/Desktop/unitree_actuator_sdk +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake b/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake new file mode 100644 index 0000000..8127a83 --- /dev/null +++ b/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake @@ -0,0 +1,76 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "11.1.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..3b3c8c9 --- /dev/null +++ b/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake @@ -0,0 +1,88 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "11.1.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..f5c0271bd1f430a01fe97ae98c04e365379fa44b GIT binary patch literal 16544 zcmeHOZ*Wvs6~CKJV1Z<_rJ<&P<+ZjWv}Q>VFkmCQNj7=W02LC80)5?NH_5h}-LU(% zO&Cg1-?Wcmx-(_=G?%6i`Tr8Xnw06(AweD5~J| zgJQXu2Yk82RC`DfXjSE0nVtFw_X0(|TC9|y%M}bBRN)>XMZLMof%&S1si5zHdKK72 zypvub2TZxW=ubmsD4P5%(gD(AYSqKoOw}p*sU|zsC@w3BvL3RiCxS{IhC>yiH>=(;l`>hqLf9(^E& zQ~Pk>fDpIevd~vqQROQaA#7U!S2bMCk>6f=XhF-_pI$t&?@atRgOwYfTJ++lE{^~H z^u=e^^qhb5+@2lFAAbC6`zmWLJoA&t~5lraNsXUyjIjY@I`>%0hhC60MNj`)6Nrs--IKlDGi=qUk7%v@Qb0F6dqSZ zJVJPgCe&)ezXvoRYG?KT!z90o?6i~oM+l!F9LEjI4!E#C0S!4JmM9_w%)efoZtI0% z^bSXjzCjAl$@Fq%j)(wohpR6-aXU7L+qJQMFvWX*V{YjaC7or-rw zdy;XHNcE+SEZ9l+8L=TVBaC<~YDU2Z5@i*b{=syLTo_<)E7W6&l#$EEV^(+I%>)Z6 z1bebsR!9FOy|;IEG`ARQf@^~7#FX*GMP2JbkIaYBHmQeawRkb8dC%{r+Nd{E@ zepnxCdKxPFSj7<}8>Y=A;Cc(z!S#Z|MD>aT==da2kWWbYbv;N{UDxwd`iZwT=_jVW zy5}YR%yqK{4BSNqe1(a=>J`v0*2n%HXu@WZyQfnnp-`BN z!N*G#*I?J}*$uij{l7d4jcBMF^zx5g((}2AQ<1CK%|nq(`cZvs$*=qnogbD5s((K2 ziCks$lmorG`y`qP-`_dbl!YBZ_%j{(v*GTJ{FQK5IDfTUAFGQ2yuEYPH5`*k<9eZ> zpSb2VS2Ucbcy#99>CC^?ntvl)sQHsVdeWnB_+##`I9@w)hj-a z{gdN^BZ+?HI2T7&HoG5g1l$O?5pW~mM!=1L8v!>0ZUo#2xDjw8@P85kkL_)v5FK0E zwr;e%AKF>pxEn(u@n}zCC!7~Rz_ZNzaePOJ?@K1%E)<4z@gC_YRf=bP%TY>*g^Gv^MDe^QmRdz-&Px){XYt1Ayd9pI#WGHYxgX;aRcB|h z%Jyy}oaO#iQ2m8CNeJG^s{WHbcrz?{jw5XQB)^y1|4BUei_HJ;2%itXL5qA2vc08c zqqefUCzmpFT0=vyAy{A6kdth~{x$W%`n9VFes70fm{qkUzPJ~DbKvvoRx4gO{mkdj z?RdG^SJF;JaUR*_A^0?Z?D%}a^URL>1do>;Um%XrINI@r#rb5%VRq7eW5+9nRuZog z^(AqCG5^ADr&{oRXve{bW<^xp3nz>De7&{R3n!h2OUmC|JWp$vuPNTob{tMCmzaNE zaf{&l&n`dvJT|s_OPr%tI6rM>tl)iCE-n{l5LLtHRvDh(cEl4-U`YI!1HYYcehw-t zLVOG=Fl&qFy7|6tk@)O5JVbW*xyp9%+_*=~j^|eaFV+9=Ncn(RsX+w__8ZGw-}eWy zZLx^q7jcwQ_BVi`GRP8e&Yy9qd-JUEJp;H0&d>96fnB^R@!8}42HD~N3oQSxtjwN= zRnQ-_?>zs1tHfu|pHs5`v+u9ffaAIS3HtxU|4%jnu5l+U^ht@&o`*XDFLe$-33#bI zg)HEUEq1wjgycnt5kjX*D3X!LE&o46$t57>K4~kS$@f zes)WEb4QC^Or~A{1UWlKL??54>o$NO*MbeVcW!MCcN$yU+O|i!jIMBVX9V5J($ghJN5iW|w~uq1J)%#t}XIqXR(_8y2}c4W|u_5d|AiVkosk%EkrArVZa&3Lds zl?x7K(nIl#Ibwl&atX-0O2i0)@vAeV{X&WlM6&}T7#m4}3q>J^MYcQ=&twznl#MZ< zEfY^hQ9%S{wn}g)X$t%Z_NSp@#)sikrp*L1X_*QWj1SQC8i;{Db4p*$Go`_GFdiLD z^g?$qlO_m>Fd_&Od=TcX^KSW%d0bz^tq0F;Rd_wcl-JkPEM>Wl^h0pr8kqHY-NjUc zHf!N^FJtSWV%6V4>oBJHUdCFS%dQS+wCeLZj;Ur?2lLpZ5a^!0;=xKCd5{UVt`hA#+7&57cmv!1}z-WO@fl za{pP5>3(R(JqPo=9%ZVLzO(-Xi!rF+S7m+P2Nfv^vVZ6Ie+t_1J8?VwGf{;o@Baub zhL`zoK*g%Bksebv$MVcGeb%AR>t&`aH<$hk4*d`*F#Wb;z?}BJ@6hM<6I0$Fvw!FO z{SoPN{Dnr6MDhNz7N`GTKqGdM^?5zd^j@nn)SdoMJM?+o&veS6&*RVV@1TNfQM&Dm z`vcCWb;>i(^djh1TlD#Nf$2H`p|G6dW_ZTmh6bE_?7z6*2r7+n8b6%>SXhta_#9v; z!uq@~8K(tO2->WL^_fmXqg7voNV;B8_CsjVKl9h2g0|Q{uXh8a&wf~*z7Dg(3jksy zUc_1do+6?utZ$_}cdVizHb^%%-p2@WfB5;g05I;mO`j%ijl($mWm#O7m(uTQR1%dA I1qUns4fAG#>;M1& literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin b/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..2fef2eec9f79a88dedcbdbc7821629d8b051491c GIT binary patch literal 16560 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 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if !defined(__STDC__) +# if (defined(_MSC_VER) && !defined(__clang__)) \ + || (defined(__ibmxl__) || defined(__IBMC__)) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build/CMakeFiles/3.16.3/CompilerIdC/a.out b/build/CMakeFiles/3.16.3/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..3cd9d247d37910c71fa378f45f3795f84ac80023 GIT binary patch literal 16704 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 K6MJ$M#lHaM!;umI literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..69cfdba --- /dev/null +++ b/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,660 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out b/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..d4baa62910fd72920b11b88ba89fa80748775730 GIT binary patch literal 16712 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..d210c27 --- /dev/null +++ b/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/liang/Desktop/unitree_actuator_sdk") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/liang/Desktop/unitree_actuator_sdk/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build/CMakeFiles/CMakeOutput.log b/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..d7be39f --- /dev/null +++ b/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,471 @@ +The system is: Linux - 5.15.0-60-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/3.16.3/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_53171/fast && /usr/bin/make -f CMakeFiles/cmTC_53171.dir/build.make CMakeFiles/cmTC_53171.dir/build +make[1]: Entering directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_53171.dir/testCCompiler.c.o +/usr/bin/cc -o CMakeFiles/cmTC_53171.dir/testCCompiler.c.o -c /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTC_53171 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_53171.dir/link.txt --verbose=1 +/usr/bin/cc -rdynamic CMakeFiles/cmTC_53171.dir/testCCompiler.c.o -o cmTC_53171 +make[1]: Leaving directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' + + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_1b2d7/fast && /usr/bin/make -f CMakeFiles/cmTC_1b2d7.dir/build.make CMakeFiles/cmTC_1b2d7.dir/build +make[1]: Entering directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1b2d7.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_1b2d7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5xS54x.s +GNU C17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu) + compiled by GNU C version 11.1.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/11/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu) + compiled by GNU C version 11.1.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 8ec796f2f597d1eafc73c36d7f1d247c +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1b2d7.dir/' + as -v --64 -o CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o /tmp/cc5xS54x.s +GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_1b2d7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1b2d7.dir/link.txt --verbose=1 +/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o -o cmTC_1b2d7 +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1b2d7' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1b2d7.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccnGaSMW.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1b2d7 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1b2d7' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1b2d7.' +make[1]: Leaving directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_1b2d7/fast && /usr/bin/make -f CMakeFiles/cmTC_1b2d7.dir/build.make CMakeFiles/cmTC_1b2d7.dir/build] + ignore line: [make[1]: Entering directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1b2d7.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_1b2d7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5xS54x.s] + ignore line: [GNU C17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 8ec796f2f597d1eafc73c36d7f1d247c] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1b2d7.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o /tmp/cc5xS54x.s] + ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_1b2d7] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1b2d7.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o -o cmTC_1b2d7 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1b2d7' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1b2d7.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccnGaSMW.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1b2d7 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccnGaSMW.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_1b2d7] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_1b2d7.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_d226c/fast && /usr/bin/make -f CMakeFiles/cmTC_d226c.dir/build.make CMakeFiles/cmTC_d226c.dir/build +make[1]: Entering directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_d226c.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTC_d226c.dir/testCXXCompiler.cxx.o -c /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTC_d226c +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d226c.dir/link.txt --verbose=1 +/usr/bin/c++ -rdynamic CMakeFiles/cmTC_d226c.dir/testCXXCompiler.cxx.o -o cmTC_d226c +make[1]: Leaving directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' + + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_1e1e3/fast && /usr/bin/make -f CMakeFiles/cmTC_1e1e3.dir/build.make CMakeFiles/cmTC_1e1e3.dir/build +make[1]: Entering directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1e3.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_1e1e3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccMZ9Lzs.s +GNU C++17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu) + compiled by GNU C version 11.1.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/11 + /usr/include/x86_64-linux-gnu/c++/11 + /usr/include/c++/11/backward + /usr/lib/gcc/x86_64-linux-gnu/11/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu) + compiled by GNU C version 11.1.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 7a79b9a038c6e5e716b693fdb4982943 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1e3.dir/' + as -v --64 -o CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccMZ9Lzs.s +GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_1e1e3 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e1e3.dir/link.txt --verbose=1 +/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_1e1e3 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1e1e3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1e3.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccMhutwW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e1e3 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1e1e3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1e3.' +make[1]: Leaving directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/11] + add: [/usr/include/x86_64-linux-gnu/c++/11] + add: [/usr/include/c++/11/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/11] ==> [/usr/include/x86_64-linux-gnu/c++/11] + collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_1e1e3/fast && /usr/bin/make -f CMakeFiles/cmTC_1e1e3.dir/build.make CMakeFiles/cmTC_1e1e3.dir/build] + ignore line: [make[1]: Entering directory '/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1e3.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_1e1e3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccMZ9Lzs.s] + ignore line: [GNU C++17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/11] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/11] + ignore line: [ /usr/include/c++/11/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Ubuntu 11.1.0-1ubuntu1~20.04) version 11.1.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 7a79b9a038c6e5e716b693fdb4982943] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1e3.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccMZ9Lzs.s] + ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_1e1e3] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e1e3.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_1e1e3 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.1.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2V7zgg/gcc-11-11.1.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1e1e3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1e3.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccMhutwW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e1e3 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccMhutwW.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_1e1e3] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_1e1e3.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..5ee6ea8 --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,50 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.16.3/CMakeCCompiler.cmake" + "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.16.3/CMakeSystem.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/changeID.dir/DependInfo.cmake" + "CMakeFiles/motorctrl.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..cd967e9 --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,135 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/liang/Desktop/unitree_actuator_sdk + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/liang/Desktop/unitree_actuator_sdk/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/changeID.dir/all +all: CMakeFiles/motorctrl.dir/all + +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: + +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/changeID.dir/clean +clean: CMakeFiles/motorctrl.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/changeID.dir + +# All Build rule for target. +CMakeFiles/changeID.dir/all: + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/depend + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles --progress-num=1,2 "Built target changeID" +.PHONY : CMakeFiles/changeID.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/changeID.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/changeID.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles 0 +.PHONY : CMakeFiles/changeID.dir/rule + +# Convenience name for target. +changeID: CMakeFiles/changeID.dir/rule + +.PHONY : changeID + +# clean rule for target. +CMakeFiles/changeID.dir/clean: + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/clean +.PHONY : CMakeFiles/changeID.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/motorctrl.dir + +# All Build rule for target. +CMakeFiles/motorctrl.dir/all: + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/depend + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles --progress-num=3,4 "Built target motorctrl" +.PHONY : CMakeFiles/motorctrl.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/motorctrl.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/motorctrl.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles 0 +.PHONY : CMakeFiles/motorctrl.dir/rule + +# Convenience name for target. +motorctrl: CMakeFiles/motorctrl.dir/rule + +.PHONY : motorctrl + +# clean rule for target. +CMakeFiles/motorctrl.dir/clean: + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/clean +.PHONY : CMakeFiles/motorctrl.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..e882f30 --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,4 @@ +/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/rebuild_cache.dir +/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/edit_cache.dir +/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/changeID.dir +/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/motorctrl.dir diff --git a/build/CMakeFiles/changeID.dir/CXX.includecache b/build/CMakeFiles/changeID.dir/CXX.includecache new file mode 100644 index 0000000..a8dc092 --- /dev/null +++ b/build/CMakeFiles/changeID.dir/CXX.includecache @@ -0,0 +1,82 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +../include/IOPort/IOPort.h +stdint.h +- +unistd.h +- +vector +- +unitreeMotor/unitreeMotor.h +../include/IOPort/unitreeMotor/unitreeMotor.h + +../include/serialPort/SerialPort.h +termios.h +- +sys/select.h +- +string +- +string.h +- +stdint.h +- +fcntl.h +- +sys/ioctl.h +- +linux/serial.h +- +unistd.h +- +iostream +- +serialPort/include/errorClass.h +../include/serialPort/serialPort/include/errorClass.h +unitreeMotor/unitreeMotor.h +../include/serialPort/unitreeMotor/unitreeMotor.h +IOPort/IOPort.h +../include/serialPort/IOPort/IOPort.h + +../include/serialPort/include/errorClass.h +string +- +exception +- +stdexcept +- +sstream +- +cstring +- + +../include/unitreeMotor/include/motor_msg.h +stdint.h +- + +../include/unitreeMotor/unitreeMotor.h +unitreeMotor/include/motor_msg.h +../include/unitreeMotor/unitreeMotor/include/motor_msg.h +stdint.h +- +iostream +- + +/home/liang/Desktop/unitree_actuator_sdk/example/changeID.cpp +stdio.h +- +string.h +- +unistd.h +- +stdlib.h +- +serialPort/SerialPort.h +/home/liang/Desktop/unitree_actuator_sdk/example/serialPort/SerialPort.h + diff --git a/build/CMakeFiles/changeID.dir/DependInfo.cmake b/build/CMakeFiles/changeID.dir/DependInfo.cmake new file mode 100644 index 0000000..3915acb --- /dev/null +++ b/build/CMakeFiles/changeID.dir/DependInfo.cmake @@ -0,0 +1,21 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/home/liang/Desktop/unitree_actuator_sdk/example/changeID.cpp" "/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/changeID.dir/example/changeID.cpp.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "../include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/changeID.dir/build.make b/build/CMakeFiles/changeID.dir/build.make new file mode 100644 index 0000000..bc0f3bb --- /dev/null +++ b/build/CMakeFiles/changeID.dir/build.make @@ -0,0 +1,98 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/liang/Desktop/unitree_actuator_sdk + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/liang/Desktop/unitree_actuator_sdk/build + +# Include any dependencies generated for this target. +include CMakeFiles/changeID.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/changeID.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/changeID.dir/flags.make + +CMakeFiles/changeID.dir/example/changeID.cpp.o: CMakeFiles/changeID.dir/flags.make +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../example/changeID.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/changeID.dir/example/changeID.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/changeID.dir/example/changeID.cpp.o -c /home/liang/Desktop/unitree_actuator_sdk/example/changeID.cpp + +CMakeFiles/changeID.dir/example/changeID.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/changeID.dir/example/changeID.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/liang/Desktop/unitree_actuator_sdk/example/changeID.cpp > CMakeFiles/changeID.dir/example/changeID.cpp.i + +CMakeFiles/changeID.dir/example/changeID.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/changeID.dir/example/changeID.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/liang/Desktop/unitree_actuator_sdk/example/changeID.cpp -o CMakeFiles/changeID.dir/example/changeID.cpp.s + +# Object files for target changeID +changeID_OBJECTS = \ +"CMakeFiles/changeID.dir/example/changeID.cpp.o" + +# External object files for target changeID +changeID_EXTERNAL_OBJECTS = + +changeID: CMakeFiles/changeID.dir/example/changeID.cpp.o +changeID: CMakeFiles/changeID.dir/build.make +changeID: CMakeFiles/changeID.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable changeID" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/changeID.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/changeID.dir/build: changeID + +.PHONY : CMakeFiles/changeID.dir/build + +CMakeFiles/changeID.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/changeID.dir/cmake_clean.cmake +.PHONY : CMakeFiles/changeID.dir/clean + +CMakeFiles/changeID.dir/depend: + cd /home/liang/Desktop/unitree_actuator_sdk/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/liang/Desktop/unitree_actuator_sdk /home/liang/Desktop/unitree_actuator_sdk /home/liang/Desktop/unitree_actuator_sdk/build /home/liang/Desktop/unitree_actuator_sdk/build /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/changeID.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/changeID.dir/depend + diff --git a/build/CMakeFiles/changeID.dir/cmake_clean.cmake b/build/CMakeFiles/changeID.dir/cmake_clean.cmake new file mode 100644 index 0000000..4323bbd --- /dev/null +++ b/build/CMakeFiles/changeID.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/changeID.dir/example/changeID.cpp.o" + "changeID" + "changeID.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/changeID.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/changeID.dir/depend.internal b/build/CMakeFiles/changeID.dir/depend.internal new file mode 100644 index 0000000..90ab843 --- /dev/null +++ b/build/CMakeFiles/changeID.dir/depend.internal @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/changeID.dir/example/changeID.cpp.o + ../include/IOPort/IOPort.h + ../include/serialPort/SerialPort.h + ../include/serialPort/include/errorClass.h + ../include/unitreeMotor/include/motor_msg.h + ../include/unitreeMotor/unitreeMotor.h + /home/liang/Desktop/unitree_actuator_sdk/example/changeID.cpp diff --git a/build/CMakeFiles/changeID.dir/depend.make b/build/CMakeFiles/changeID.dir/depend.make new file mode 100644 index 0000000..3d65f50 --- /dev/null +++ b/build/CMakeFiles/changeID.dir/depend.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../include/IOPort/IOPort.h +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../include/serialPort/SerialPort.h +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../include/serialPort/include/errorClass.h +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../include/unitreeMotor/include/motor_msg.h +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../include/unitreeMotor/unitreeMotor.h +CMakeFiles/changeID.dir/example/changeID.cpp.o: ../example/changeID.cpp + diff --git a/build/CMakeFiles/changeID.dir/example/changeID.cpp.o b/build/CMakeFiles/changeID.dir/example/changeID.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..b2cebee0a01cb0c9bc12748f21eb18570c633f50 GIT binary patch literal 7376 zcmb_gdu$ZP8K1lL0X1M>32jYC(@n68Nnp7(CKy+wKHF#3;lNjH7ZO05_1&I*aCdv% z-SY!QeaJE5YEFuflB!CZzDQcNN}K*sl#o_ff|kCdCjFzJ{E?tkO+Z9}s%cA`w(j@M z&e-GiT|%RN(!75A`yTVync4k9EZ!3g1PGS^xu49pI7&$3qx1C+TJ0dWlQonZhW3Zq z=!jbqD_OPlydU3X%zzcaE?-j~UztTCtk;6deJSKsa}8)`kX zq%UvEZYF28%bC=U$fx9iF^jex3aA_9ff3vEC?3>OOPU-q01*hD<%}aYIkgndS*~Tv zz1@Jd%T4=hdFXD@&eO;#L8&D`Ng8?C%4a9!AybAZ!5x_I%O_1aoyljM5i_+>F4(5y z$m@;uU>;5IC$%t_Z0x6hMrLPcwenOLi|rTO5FO-r=}m9oZ;{7_gcg6Pzw@7iT6rrr z&f-GVN`HzDMhD{Mr)6*wFF%Ve`?d1d3+VGpZ=ok)8OAQDGum_r)wR+Ts;Dz8m{&D# zAl)I5wHS9hgT%f?}e#{p+GMerkbJlBB}KjSpDh8 zdywFnRA;CQYI(Yh(P*VtVR=sds(xx8^o~9_dlSsi+F=rX0sH&{xxbghOK(H_d3g^Z zXCOg$E*ysJ++m4wwS|K}d0w8M0Bu@=f$9c#XYQt&uYs}IMELACj|DtWXO;u*^)p?1 z{2pL3qtZeRaVGe<36t|bLG_>LhF(n1zl@VNjpFqR9&jJQ8Az9=#K>UT(crwkXw$Jv z^V`I3t!!RVXAa;#ap+vNVf|wH!21pB)l>grV}UCXcC4!~P~=wXY1%)wem9|(#`YoB zXV{qzY2}aL6KZsJHn48s8!+ED1ED8E-J-0jimF65sYTjUKi?8jBCQ)3OjT+i$9)~&l%0D9Nsy2k z#3V>4tG$8*j_xIa@o-@6ilxgQgUH$dzk@wHi)CkBxE$=MYd9fA>*QlK(YofzP?7^;?(NWC(*)MZo3s4jfjApfq*a`5~~Xz3-+yC(p{EL z)bve;g8x=zNeb9iTZ#N`}7VZ zlzTCwejln^hV}Old|hkEpXpZMr%5=f6-1izy6~YyXJa9TEr~2y1l9o(6ztQvU@VC& zUBpK~B9(h1!RA#-B(h=={8>PPf*l+~l!qY&!OjfpG95#}Tu1?-UpQV|B(joM7nBmI zU(n_aiLO}QnlB}C+k8W)Npq`M0HG=o`VuYxCuwW(I3H&?Uo%{(Oe>4yJW27zR-8<54iT4IS^$-TS!x9Cd7 zu?;0caz-YvB&}?U=sV+mozb|iJH;WrSH}n7rQeOW>3YV3ORY$*E)TVs0G8ip?y)3z-ehJkeNQ*1M>==$*ZxLz=A z$I8QJi#wr@Ld1FjzHi(#nu12gv69=j>ki!d(-?5uZv0f}%B55_XQeXf2|Z=FMl8{< z!_)j&4moP1pMKyZ;QOXajqTm_0lFE>9nNj*%v#AK4}!g+3DZ%dP zwF*Np$xz>t&RS#eHRjq@R(BzWR5me6icZ!v3ozO#n9yOVoYU08CIa7!#s?``k>Ov7Bt=q?uPU)xEiCJ z5b$*Z{yhQ5y9?+4NWhx}{4~Sy)mbgzxR0Ws-%mo~cKH1SOGUu>9n6n60tW^0Es(gK zjR=DH`Q0A82#*W6Xov5c7(bq(+&({d5XWB$93O-_3i{muiR1h{LjK1DJPmaetQ$+n0UVu0$-fR zM+97)$72F6zSqBGI2ITaxBrsB$GwH)7a5Lge5-)JF4(zGz)uP|zJuJ(Q$8GhqkP|o zH+nER?Zf%L@Fv4ie;XujpQ+KC--n>V@Ao3!!W&S^td8cGNs0^$cr&YG!QWrxqJ1t? ztb(}sb;7@M5Et!S7WjORLg=c1qn-7vjsILwxZk;cDb7UBHHL@+2fSB~@S1IA4F%2$ zxJuxGNt7YSA&PBb1L>*)_Xe>Emy9_brI^oVj+ogA5rYHYc8dj~3@71eA5WSER|ltX zGI@%4Z_y3gHc-p+lXP74f}v2qP*dQDHL}Wk-3Z{4l*^fUh#Y=!nhJdJZ=#nC)*j9m zm4a=-HNxfbnIn4IhJT$9n{7de|0h`m?=%0GESl_KjTNlKGXdw9uV-G$fZ>+l|58f; zhQil}*IInX#yt>ib#MYJBlTY8G1f-^xHkA&!ZQa2&t~-R|BkCiu!8tueBaP!HGMzd z-^RTWG4Y*)CJ8elKlczr;qh}j9e`ER|1BdNM(M{un!tpO60tV3qto$NXPoCD5pZd4-ipC@c9-Fyak1F*yIYU-MimV^1=7LB5&3sP^6TRn?O(e9k>hOR{*JF>=uZ^f`zz^3 NFj$Z^J_TQs{1]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +../include/IOPort/IOPort.h +stdint.h +- +unistd.h +- +vector +- +unitreeMotor/unitreeMotor.h +../include/IOPort/unitreeMotor/unitreeMotor.h + +../include/serialPort/SerialPort.h +termios.h +- +sys/select.h +- +string +- +string.h +- +stdint.h +- +fcntl.h +- +sys/ioctl.h +- +linux/serial.h +- +unistd.h +- +iostream +- +serialPort/include/errorClass.h +../include/serialPort/serialPort/include/errorClass.h +unitreeMotor/unitreeMotor.h +../include/serialPort/unitreeMotor/unitreeMotor.h +IOPort/IOPort.h +../include/serialPort/IOPort/IOPort.h + +../include/serialPort/include/errorClass.h +string +- +exception +- +stdexcept +- +sstream +- +cstring +- + +../include/unitreeMotor/include/motor_msg.h +stdint.h +- + +../include/unitreeMotor/unitreeMotor.h +unitreeMotor/include/motor_msg.h +../include/unitreeMotor/unitreeMotor/include/motor_msg.h +stdint.h +- +iostream +- + +/home/liang/Desktop/unitree_actuator_sdk/example/main.cpp +serialPort/SerialPort.h +/home/liang/Desktop/unitree_actuator_sdk/example/serialPort/SerialPort.h +unistd.h +- + diff --git a/build/CMakeFiles/motorctrl.dir/DependInfo.cmake b/build/CMakeFiles/motorctrl.dir/DependInfo.cmake new file mode 100644 index 0000000..9baa979 --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/DependInfo.cmake @@ -0,0 +1,21 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/home/liang/Desktop/unitree_actuator_sdk/example/main.cpp" "/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/motorctrl.dir/example/main.cpp.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "../include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/motorctrl.dir/build.make b/build/CMakeFiles/motorctrl.dir/build.make new file mode 100644 index 0000000..b64c97b --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/build.make @@ -0,0 +1,98 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/liang/Desktop/unitree_actuator_sdk + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/liang/Desktop/unitree_actuator_sdk/build + +# Include any dependencies generated for this target. +include CMakeFiles/motorctrl.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/motorctrl.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/motorctrl.dir/flags.make + +CMakeFiles/motorctrl.dir/example/main.cpp.o: CMakeFiles/motorctrl.dir/flags.make +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../example/main.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/motorctrl.dir/example/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/motorctrl.dir/example/main.cpp.o -c /home/liang/Desktop/unitree_actuator_sdk/example/main.cpp + +CMakeFiles/motorctrl.dir/example/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/motorctrl.dir/example/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/liang/Desktop/unitree_actuator_sdk/example/main.cpp > CMakeFiles/motorctrl.dir/example/main.cpp.i + +CMakeFiles/motorctrl.dir/example/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/motorctrl.dir/example/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/liang/Desktop/unitree_actuator_sdk/example/main.cpp -o CMakeFiles/motorctrl.dir/example/main.cpp.s + +# Object files for target motorctrl +motorctrl_OBJECTS = \ +"CMakeFiles/motorctrl.dir/example/main.cpp.o" + +# External object files for target motorctrl +motorctrl_EXTERNAL_OBJECTS = + +motorctrl: CMakeFiles/motorctrl.dir/example/main.cpp.o +motorctrl: CMakeFiles/motorctrl.dir/build.make +motorctrl: CMakeFiles/motorctrl.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable motorctrl" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/motorctrl.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/motorctrl.dir/build: motorctrl + +.PHONY : CMakeFiles/motorctrl.dir/build + +CMakeFiles/motorctrl.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/motorctrl.dir/cmake_clean.cmake +.PHONY : CMakeFiles/motorctrl.dir/clean + +CMakeFiles/motorctrl.dir/depend: + cd /home/liang/Desktop/unitree_actuator_sdk/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/liang/Desktop/unitree_actuator_sdk /home/liang/Desktop/unitree_actuator_sdk /home/liang/Desktop/unitree_actuator_sdk/build /home/liang/Desktop/unitree_actuator_sdk/build /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/motorctrl.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/motorctrl.dir/depend + diff --git a/build/CMakeFiles/motorctrl.dir/cmake_clean.cmake b/build/CMakeFiles/motorctrl.dir/cmake_clean.cmake new file mode 100644 index 0000000..606376c --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/motorctrl.dir/example/main.cpp.o" + "motorctrl" + "motorctrl.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/motorctrl.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/motorctrl.dir/depend.internal b/build/CMakeFiles/motorctrl.dir/depend.internal new file mode 100644 index 0000000..d5dc3a3 --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/depend.internal @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/motorctrl.dir/example/main.cpp.o + ../include/IOPort/IOPort.h + ../include/serialPort/SerialPort.h + ../include/serialPort/include/errorClass.h + ../include/unitreeMotor/include/motor_msg.h + ../include/unitreeMotor/unitreeMotor.h + /home/liang/Desktop/unitree_actuator_sdk/example/main.cpp diff --git a/build/CMakeFiles/motorctrl.dir/depend.make b/build/CMakeFiles/motorctrl.dir/depend.make new file mode 100644 index 0000000..3179815 --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/depend.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../include/IOPort/IOPort.h +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../include/serialPort/SerialPort.h +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../include/serialPort/include/errorClass.h +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../include/unitreeMotor/include/motor_msg.h +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../include/unitreeMotor/unitreeMotor.h +CMakeFiles/motorctrl.dir/example/main.cpp.o: ../example/main.cpp + diff --git a/build/CMakeFiles/motorctrl.dir/example/main.cpp.o b/build/CMakeFiles/motorctrl.dir/example/main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..7e922ba09870648eaf0629df5fee6b9bb88fac44 GIT binary patch literal 7560 zcmbtYe{5679lzN51qB>v*R5qMhQdm_Vr&v1AX?>@;bj;a#Yrhl)5Eb}h{5sm>}Qft zZ3PjdS*{Czpsi9@{@kWY)ud@`r5h|8j4-K__+!(iN>kCaPB0;0V{NC2l6^n-?(EBp zU#Qe?^xl2%bKl>0@9yGP!jbKsx;iGQjy=z+J&7{b{KYEY!PyS>ID3rCHc}rtE%Yqq zW7XGP-xL2U-nm!-&>z&w>i}rQ+t+zpdd}|N`leR?0@xdP`BwBW#^pQD!F=aC{@sk7 zW6$@pcZnhO4?FjCz8EQ=4c?!b=^Tud-@Zyrr1){?K%{s(s+HgDpuTqOX0wN}gjT9w zvzDucuY{%!GVPu93FGj3%bGaI=+CPa--I2lSb)}aL8JFzv@57h7utzkM5>ny5#pE# z`aBmue#x(G`M_$h!E)i+r!zB`3w@B&%3mQRinDN)z({!wdeeo!Q)dnc#Yo$pq>fc+O)(TU;$$yZ}(Q(Z5+r-scQop`J;=H`RwTp?R<#LuU z(&E4A)0yV081Qrfi`?d}(@Lph4TRkz?ho(1_ndEO`DSJL)DGoE8A@RlNorz6_m-M2 zEaYB0f{`uPe3J`kFjAbEx$3)c=f=HzGc&#wlkmz2$UL!m$@5L_3^^KR%n8-jsg z+tUK(D)scn`O`qpj@^TdKAHiyB*wH=Xdj+E{LQt^OqPL40jcAbOe}?t}N-Uz94z{fmFf zPAPAtO0!42E|$H#%ClwB^D^87=8~7m%2vnl^?MYY*O@RZ3T!fx5Vs^R!;vwUybK5A zT=Fs;Wpl~PuszQvTu3~MJnAaR%Y2fZ)q45rnFaBVmpwceB*e?)Dx5v+W&F}J3*5|m zbMx9JaA#(n0)K3l6~?v;{7DDCQ{em}ri}G*-Ywr{ie#1b*1RzyU-}9iG)Vnb$~uuN zBSUzLLl)f=F8CQ2{O7>ux@8w#v<~szg7D3PuF|v8Q;i7UKIkSrRg^>gl@WVM z6|uQ77yOtDUUtFXaKUf5;2x?$tvDCC;19dtT`qXs1^+XpUCZywF7hW`a5frCrUUUz zhUq&ZFLZTAbUl|J(tCB_Oy3u^BJH}KG?VG1C1lN1f(0Vo8}Mqys|~M>cx}QfL~6Tt zMy-u;Ya(Ox#>4FiQy)tvjC43&@$$mkfqv z*TQ=^t|xM)J`zhOQU=rY_;^f@S;jbp*s~{)HHHJaeqelD&luU9nU1BB)`WgI2y3BW z)W{}dsXj9c5B)pI?`9Yn4~0S-$aylZ=d5fpeV{iUwL+ozNGz*c*;vxbQ6kY8y~5$q zgQJ_fQfBuekW@{#Ip*Y|-4yW?D5uQ9nuu0cV3do3!>dAD@$Xd1H3ip#_s~x?N?xorW z^>B2P-nTQ_s;6w*Tl8JhOd?EL=73#$GnES`Sw5FC3|a`Y%haAT(usZ}emLCMz6-aQ z?$Jcw7S8p=tQf@A$qu!W4?f%EDQPKrSR+|;j3zjt$74B*Pp�_QVdR$CBxU-f!gc zqXw;UxgXH-<)1cM2(gU%^$sjWA4vI;eh^2^J;Omt*`&@8&e}NrUexHlH?t&*=@T3cl zxdXxPN_u2H^Fki;g4?Xbk2!GXeHNdq`rm{o8@C@)>_|O~Z%}al%NzB9uTgODAg8>I z+P`B4Wrte7;1RzFnIrQ5FW_pN-%#YA6g--YfVm{4$;3!tAUxN7H*3XXb8`m10N z5A0NahYjQ=My=Qo3(#q8wCN>VAFqnm}$;a13D zfNnIgRA9afR3L7Sjv8r7CT&_qfd2nqNAblEiT;6fK9I?pbnCJZA9658^xxZt3JMegvl6~3kC#;tLQ;$H}KGV>` z{{niXp7j4M!jM1qz*!_VC;NAU>WHkrYzs70tA5*rKF)rXq@Ki%5>qSwAB*_+3qiz> zwd{=lG-0rb{Yxc7_;>!U;q?DQQUd1uh2p5tch0x$%l4em_c{VNCG=&yGB#)bXEea` zcjz~ZpLXOtA%FOk`V#+;FvK6EN2S+=e|#S*$^2z|iv}gH%3TurDhA#ud!I0@Ye)F( ziqQAdm`XB!i9JdNVbiI9UFctzf}(ZmFD2z#>&GwZHzo8?KR{An)~}Xts9Y5r#}ybS of;{$Lr#`+Z=eJ7`dtGe2XB>&apGw&KYw2GT@jvBIaCF)K0gAaAs{jB1 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/motorctrl.dir/flags.make b/build/CMakeFiles/motorctrl.dir/flags.make new file mode 100644 index 0000000..2261f10 --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -std=c++11 -O3 + +CXX_DEFINES = + +CXX_INCLUDES = -I/home/liang/Desktop/unitree_actuator_sdk/include + diff --git a/build/CMakeFiles/motorctrl.dir/link.txt b/build/CMakeFiles/motorctrl.dir/link.txt new file mode 100644 index 0000000..0207fcb --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -std=c++11 -O3 -rdynamic CMakeFiles/motorctrl.dir/example/main.cpp.o -o motorctrl -L/home/liang/Desktop/unitree_actuator_sdk/lib -Wl,-rpath,/home/liang/Desktop/unitree_actuator_sdk/lib -lunitreeMotorSDK_Linux64 diff --git a/build/CMakeFiles/motorctrl.dir/progress.make b/build/CMakeFiles/motorctrl.dir/progress.make new file mode 100644 index 0000000..8c8fb6f --- /dev/null +++ b/build/CMakeFiles/motorctrl.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 3 +CMAKE_PROGRESS_2 = 4 + diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +4 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..5e7c524 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,222 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/liang/Desktop/unitree_actuator_sdk + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/liang/Desktop/unitree_actuator_sdk/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/liang/Desktop/unitree_actuator_sdk/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named changeID + +# Build rule for target. +changeID: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 changeID +.PHONY : changeID + +# fast build rule for target. +changeID/fast: + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/build +.PHONY : changeID/fast + +#============================================================================= +# Target rules for targets named motorctrl + +# Build rule for target. +motorctrl: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 motorctrl +.PHONY : motorctrl + +# fast build rule for target. +motorctrl/fast: + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/build +.PHONY : motorctrl/fast + +example/changeID.o: example/changeID.cpp.o + +.PHONY : example/changeID.o + +# target to build an object file +example/changeID.cpp.o: + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/example/changeID.cpp.o +.PHONY : example/changeID.cpp.o + +example/changeID.i: example/changeID.cpp.i + +.PHONY : example/changeID.i + +# target to preprocess a source file +example/changeID.cpp.i: + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/example/changeID.cpp.i +.PHONY : example/changeID.cpp.i + +example/changeID.s: example/changeID.cpp.s + +.PHONY : example/changeID.s + +# target to generate assembly for a file +example/changeID.cpp.s: + $(MAKE) -f CMakeFiles/changeID.dir/build.make CMakeFiles/changeID.dir/example/changeID.cpp.s +.PHONY : example/changeID.cpp.s + +example/main.o: example/main.cpp.o + +.PHONY : example/main.o + +# target to build an object file +example/main.cpp.o: + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/example/main.cpp.o +.PHONY : example/main.cpp.o + +example/main.i: example/main.cpp.i + +.PHONY : example/main.i + +# target to preprocess a source file +example/main.cpp.i: + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/example/main.cpp.i +.PHONY : example/main.cpp.i + +example/main.s: example/main.cpp.s + +.PHONY : example/main.s + +# target to generate assembly for a file +example/main.cpp.s: + $(MAKE) -f CMakeFiles/motorctrl.dir/build.make CMakeFiles/motorctrl.dir/example/main.cpp.s +.PHONY : example/main.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... rebuild_cache" + @echo "... edit_cache" + @echo "... changeID" + @echo "... motorctrl" + @echo "... example/changeID.o" + @echo "... example/changeID.i" + @echo "... example/changeID.s" + @echo "... example/main.o" + @echo "... example/main.i" + @echo "... example/main.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/changeID b/build/changeID new file mode 100755 index 0000000000000000000000000000000000000000..a4c520273090a7a30da61691d814282ec4f61e19 GIT binary patch literal 18144 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 literal 0 HcmV?d00001 diff --git a/build/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..e639cc9 --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,49 @@ +# Install script for directory: /home/liang/Desktop/unitree_actuator_sdk + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/liang/Desktop/unitree_actuator_sdk/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/build/motorctrl b/build/motorctrl new file mode 100755 index 0000000000000000000000000000000000000000..be2ee36b86847c8021973e5e9e8fee1012e2f55b GIT binary patch literal 18128 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 A&;S4c literal 0 HcmV?d00001 diff --git a/example/changeID.cpp b/example/changeID.cpp old mode 100755 new mode 100644 index cc09380..ab83910 --- a/example/changeID.cpp +++ b/example/changeID.cpp @@ -1,55 +1,61 @@ -#include -#include -#include -#include -#include "serialPort/SerialPort.h" - -#define BroadAllMotorID 0xBB -#define MotorPulsator 11 - -int main(){ - char serial_name[100]; - - MOTOR_send motor_s; - MOTOR_recv motor_r; - - motor_s.motorType = MotorType::B1; // set the motor type, A1 or B1 - motor_r.motorType = motor_s.motorType; - - printf("Please input the name of serial port.(e.g. Linux:/dev/ttyUSB0, Windows:\\\\.\\COM3)\n"); - scanf("%s",serial_name); - printf("The serial port is %s\n", serial_name); - - memset(static_cast(&motor_s), 0, sizeof(motor_s)); - motor_s.id = BroadAllMotorID; - motor_s.mode = 10; - modify_data(&motor_s); - // printf("The motor ID is: %X\n", motor_s.motor_send_data.head.motorID); - - //进入伺服模式 - SerialPort serial(serial_name); // set the serial port name - serial.send((uint8_t*)&(motor_s.motor_send_data), motor_s.hex_len); - - usleep(100000); //sleep 0.1s - - //进入拨轮模式(修改ID) - motor_s.mode = MotorPulsator; - modify_data(&motor_s); - serial.send((uint8_t*)&(motor_s.motor_send_data), motor_s.hex_len); - - printf("Please turn the motor.\n"); - printf("One time: id=0; Two times: id=1, Three times: id=2\n"); - printf("ID can only be 0, 1, 2\n"); - printf("Once finished, press 'a'\n"); - - // int c; - while(getchar() != (int)'a'); - printf("Turn finished\n"); - - //保存ID - motor_s.mode = 0; - modify_data(&motor_s); - serial.send((uint8_t*)&(motor_s.motor_send_data), motor_s.hex_len); - - return 0; -} +#include +#include +#include +#include +#include "serialPort/SerialPort.h" + +#define BroadAllMotorID 0xBB +#define MotorPulsator 11 + +int main() +{ + char serial_name[100]; + + SerialPort *serial; + MotorCmd motor_s; + motor_s.motorType = MotorType::A1; // set the motor type, A1 or B1 + + printf("Please input the name of serial port.(e.g. Linux:/dev/ttyUSB0, Windows:\\\\.\\COM3)\n"); + scanf("%s", serial_name); + printf("The serial port is %s\n", serial_name); + + memset(static_cast(&motor_s), 0, sizeof(motor_s)); + motor_s.id = BroadAllMotorID; + motor_s.mode = 10; + motor_s.modify_data(&motor_s); + + printf("The motor ID is: %X\n", motor_s.motor_send_data.head.motorID); + + //进入伺服模式 + if (motor_s.motorType == MotorType::A1) + serial = new SerialPort(serial_name, 78, 4800000); // set the serial port name + else + serial = new SerialPort(serial_name, 78, 6000000); // set the serial port name + + serial->send((uint8_t *)&(motor_s.motor_send_data), 34); + + usleep(100000); // sleep 0.1s + + //进入拨轮模式(修改ID) + motor_s.mode = MotorPulsator; + motor_s.modify_data(&motor_s); + serial->send((uint8_t *)&(motor_s.motor_send_data), 34); + + printf("Please turn the motor.\n"); + printf("One time: id=0; Two times: id=1, Three times: id=2\n"); + printf("ID can only be 0, 1, 2\n"); + printf("Once finished, press 'a'\n"); + + // int c; + while (getchar() != (int)'a') + { + } + printf("Turn finished\n"); + + //保存ID + motor_s.mode = 0; + motor_s.modify_data(&motor_s); + serial->send((uint8_t *)&(motor_s.motor_send_data), 34); + + return 0; +} \ No newline at end of file diff --git a/example/main.cpp b/example/main.cpp index 4ab1bb5..a6042fa 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -1,49 +1,34 @@ #include "serialPort/SerialPort.h" -#include +#include -int main(){ - // set the serial port name - SerialPort serial("/dev/ttyUSB0"); +int main() +{ - // send message struct - MOTOR_send motor_run, motor_stop; - // receive message struct - MOTOR_recv motor_r; + SerialPort serial("/dev/ttyUSB0"); + MotorCmd cmd; + MotorData data; - // set the id of motor - motor_run.id = 0; - // set the motor type, A1 or B1 - motor_run.motorType = MotorType::A1; - motor_run.mode = 5; - motor_run.T = 0.0; - motor_run.W = 0.0; - motor_run.Pos = 0.0; - motor_run.K_P = 0.0; - motor_run.K_W = 0.0; + while (true) + { + cmd.motorType = MotorType::A1; + data.motorType = MotorType::A1; + cmd.id = 1; + cmd.mode = 5; + cmd.K_P = 0.0; + cmd.K_W = 0.1; + cmd.Pos = 0.0; + cmd.W = 6.28; + cmd.T = 0.0; + serial.sendRecv(&cmd, &data); - motor_stop.id = motor_run.id; - motor_stop.motorType = motor_run.motorType; - motor_stop.mode = 0; + std::cout << std::endl; + std::cout << "motor.Pos: " << data.Pos << std::endl; + std::cout << "motor.Temp: " << data.Temp << std::endl; + std::cout << "motor.W: " << data.W << std::endl; + std::cout << "motor.T: " << data.T << std::endl; + std::cout << "motor.MError: " << data.MError << std::endl; + std::cout << std::endl; - motor_r.motorType = motor_run.motorType; - - // encode data into motor commands - modify_data(&motor_run); - modify_data(&motor_stop); - - // turn for 3 second - for(int i(0); i<3; ++i){ - serial.sendRecv(&motor_run, &motor_r); - // decode data from motor states - extract_data(&motor_r); - std::cout << "Pos: " << motor_r.Pos << std::endl; - usleep(1000000); - } - - // stop the motor - while(!serial.sendRecv(&motor_stop, &motor_r)){ - usleep(100000); - } - - return 0; -} + usleep(200); + } +} \ No newline at end of file diff --git a/include/IOPort/IOPort.h b/include/IOPort/IOPort.h index 4b5aaa4..173b617 100755 --- a/include/IOPort/IOPort.h +++ b/include/IOPort/IOPort.h @@ -1,5 +1,5 @@ -#ifndef BIANLIB_IOPORT_H -#define BIANLIB_IOPORT_H +#ifndef __IOPORT_H +#define __IOPORT_H #include #include @@ -13,16 +13,20 @@ enum class BlockYN{ class IOPort{ public: - IOPort(){} + IOPort(BlockYN blockYN, size_t recvLength, size_t timeOutUs){ + resetIO(blockYN, recvLength, timeOutUs); + } virtual ~IOPort(){} virtual size_t send(uint8_t *sendMsg, size_t sendLength) = 0; + virtual size_t recv(uint8_t *recvMsg, size_t recvLength) = 0; virtual size_t recv(uint8_t *recvMsg) = 0; - virtual bool sendRecv(std::vector &sendVec, std::vector &recvVec) = 0; + virtual bool sendRecv(std::vector &sendVec, std::vector &recvVec) = 0; void resetIO(BlockYN blockYN, size_t recvLength, size_t timeOutUs); protected: BlockYN _blockYN = BlockYN::NO; size_t _recvLength; timeval _timeout; + timeval _timeoutSaved; }; inline void IOPort::resetIO(BlockYN blockYN, size_t recvLength, size_t timeOutUs){ @@ -30,7 +34,8 @@ inline void IOPort::resetIO(BlockYN blockYN, size_t recvLength, size_t timeOutUs _recvLength = recvLength; _timeout.tv_sec = timeOutUs / 1000000; _timeout.tv_usec = timeOutUs % 1000000; + _timeoutSaved = _timeout; } -#endif // BIANLIB_IOPORT_H \ No newline at end of file +#endif // z1_lib_IOPORT_H \ No newline at end of file diff --git a/include/CRC/crc32.h b/include/crc/crc32.h similarity index 100% rename from include/CRC/crc32.h rename to include/crc/crc32.h diff --git a/include/serialPort/SerialPort.h b/include/serialPort/SerialPort.h index 880e4c4..1b46f93 100755 --- a/include/serialPort/SerialPort.h +++ b/include/serialPort/SerialPort.h @@ -1,20 +1,18 @@ -#ifndef SERIALPORT_H -#define SERIALPORT_H +#ifndef __SERIALPORT_H +#define __SERIALPORT_H -/* +/* High frequency serial communication, Not that common, but useful for motor communication. */ #include -// #include #include - #include #include #include #include #include -#include //serial驱动相关 +#include #include #include @@ -22,14 +20,16 @@ Not that common, but useful for motor communication. #include "unitreeMotor/unitreeMotor.h" #include "IOPort/IOPort.h" -enum class bytesize_t{ +enum class bytesize_t +{ fivebits, sixbits, sevenbits, eightbits }; -enum class parity_t{ +enum class parity_t +{ parity_none, parity_odd, parity_even, @@ -37,31 +37,32 @@ enum class parity_t{ parity_space }; -enum class stopbits_t{ +enum class stopbits_t +{ stopbits_one, stopbits_two, stopbits_one_point_five }; -enum class flowcontrol_t{ +enum class flowcontrol_t +{ flowcontrol_none, flowcontrol_software, flowcontrol_hardware }; - - -class SerialPort : public IOPort{ +class SerialPort : public IOPort +{ public: SerialPort(const std::string &portName, - size_t recvLength = 78, - uint32_t baudrate = 4800000, - size_t timeOutUs = 20000, - BlockYN blockYN = BlockYN::NO, - bytesize_t bytesize = bytesize_t::eightbits, - parity_t parity = parity_t::parity_none, - stopbits_t stopbits = stopbits_t::stopbits_one, - flowcontrol_t flowcontrol = flowcontrol_t::flowcontrol_none); + size_t recvLength = 78, + uint32_t baudrate = 4800000, + size_t timeOutUs = 20000, + BlockYN blockYN = BlockYN::NO, + bytesize_t bytesize = bytesize_t::eightbits, + parity_t parity = parity_t::parity_none, + stopbits_t stopbits = stopbits_t::stopbits_one, + flowcontrol_t flowcontrol = flowcontrol_t::flowcontrol_none); virtual ~SerialPort(); void resetSerial(size_t recvLength = 78, uint32_t baudrate = 4800000, @@ -72,16 +73,17 @@ public: stopbits_t stopbits = stopbits_t::stopbits_one, flowcontrol_t flowcontrol = flowcontrol_t::flowcontrol_none); size_t send(uint8_t *sendMsg, size_t sendLength); + size_t recv(uint8_t *recvMsg, size_t recvLength); size_t recv(uint8_t *recvMsg); bool sendRecv(uint8_t *sendMsg, uint8_t *recvMsg, size_t sendLength); - bool sendRecv(MOTOR_send* sendMsg, MOTOR_recv* recvMsg); - bool sendRecv(std::vector &sendVec, std::vector &recvVec); + bool sendRecv(MotorCmd *sendMsg, MotorData *recvMsg); + bool sendRecv(std::vector &sendVec, std::vector &recvVec); private: void _open(); void _set(); void _close(); - size_t _nonBlockRecv(uint8_t *recvMsg, size_t readLen); // only visual in pubSDK + size_t _nonBlockRecv(uint8_t *recvMsg, size_t readLen); std::string _portName; uint32_t _baudrate; bytesize_t _bytesize; @@ -90,11 +92,8 @@ private: flowcontrol_t _flowcontrol; bool _xonxoff; bool _rtscts; - int _fd; fd_set _rSet; - }; - -#endif // SERIALPORT_H \ No newline at end of file +#endif // SERIALPORT_H \ No newline at end of file diff --git a/include/serialPort/include/errorClass.h b/include/serialPort/include/errorClass.h index 92af50b..48313c3 100755 --- a/include/serialPort/include/errorClass.h +++ b/include/serialPort/include/errorClass.h @@ -1,5 +1,5 @@ -#ifndef ERRORCLASS_H -#define ERRORCLASS_H +#ifndef __ERRORCLASS_H +#define __ERRORCLASS_H #include #include diff --git a/include/unitreeMotor/include/motor_msg.h b/include/unitreeMotor/include/motor_msg.h index 168b589..8efe653 100755 --- a/include/unitreeMotor/include/motor_msg.h +++ b/include/unitreeMotor/include/motor_msg.h @@ -7,156 +7,161 @@ typedef int16_t q15_t; #pragma pack(1) // 发送用单个数据数据结构 -typedef union{ - int32_t L; - uint8_t u8[4]; - uint16_t u16[2]; - uint32_t u32; - float F; -}COMData32; +typedef union +{ + int32_t L; + uint8_t u8[4]; + uint16_t u16[2]; + uint32_t u32; + float F; +} COMData32; -typedef struct { - // 定义 数据包头 - unsigned char start[2]; // 包头 - unsigned char motorID; // 电机ID 0,1,2,3 ... 0xBB 表示向所有电机广播(此时无返回) - unsigned char reserved; -}COMHead; +typedef struct +{ + // 定义 数据包头 + unsigned char start[2]; // 包头 + unsigned char motorID; // 电机ID 0,1,2,3 ... 0xBB 表示向所有电机广播(此时无返回) + unsigned char reserved; +} COMHead; #pragma pack() #pragma pack(1) -typedef struct { - - uint8_t fan_d; // 关节上的散热风扇转速 - uint8_t Fmusic; // 电机发声频率 /64*1000 15.625f 频率分度 - uint8_t Hmusic; // 电机发声强度 推荐值4 声音强度 0.1 分度 - uint8_t reserved4; - - uint8_t FRGB[4]; // 足端LED - -}LowHzMotorCmd; +typedef struct +{ -typedef struct { // 以 4个字节一组排列 ,不然编译器会凑整 - // 定义 数据 - uint8_t mode; // 关节模式选择 - uint8_t ModifyBit; // 电机控制参数修改位 - uint8_t ReadBit; // 电机控制参数发送位 - uint8_t reserved; + uint8_t fan_d; // 关节上的散热风扇转速 + uint8_t Fmusic; // 电机发声频率 /64*1000 15.625f 频率分度 + uint8_t Hmusic; // 电机发声强度 推荐值4 声音强度 0.1 分度 + uint8_t reserved4; - COMData32 Modify; // 电机参数修改 的数据 + uint8_t FRGB[4]; // 足端LED + +} LowHzMotorCmd; + +typedef struct +{ // 以 4个字节一组排列 ,不然编译器会凑整 + // 定义 数据 + uint8_t mode; // 关节模式选择 + uint8_t ModifyBit; // 电机控制参数修改位 + uint8_t ReadBit; // 电机控制参数发送位 + uint8_t reserved; + + COMData32 Modify; // 电机参数修改 的数据 //实际给FOC的指令力矩为: - //K_P*delta_Pos + K_W*delta_W + T - q15_t T; // 期望关节的输出力矩(电机本身的力矩)x256, 7 + 8 描述 - q15_t W; // 期望关节速度 (电机本身的速度) x128, 8 + 7描述 - int32_t Pos; // 期望关节位置 x 16384/6.2832, 14位编码器(主控0点修正,电机关节还是以编码器0点为准) + // K_P*delta_Pos + K_W*delta_W + T + q15_t T; // 期望关节的输出力矩(电机本身的力矩)x256, 7 + 8 描述 + q15_t W; // 期望关节速度 (电机本身的速度) x128, 8 + 7描述 + int32_t Pos; // 期望关节位置 x 16384/6.2832, 14位编码器(主控0点修正,电机关节还是以编码器0点为准) - q15_t K_P; // 关节刚度系数 x2048 4+11 描述 - q15_t K_W; // 关节速度系数 x1024 5+10 描述 + q15_t K_P; // 关节刚度系数 x2048 4+11 描述 + q15_t K_W; // 关节速度系数 x1024 5+10 描述 - uint8_t LowHzMotorCmdIndex; // 电机低频率控制命令的索引, 0-7, 分别代表LowHzMotorCmd中的8个字节 - uint8_t LowHzMotorCmdByte; // 电机低频率控制命令的字节 - - COMData32 Res[1]; // 通讯 保留字节 用于实现别的一些通讯内容 - -}MasterComdV3; // 加上数据包的包头 和CRC 34字节 + uint8_t LowHzMotorCmdIndex; // 电机低频率控制命令的索引, 0-7, 分别代表LowHzMotorCmd中的8个字节 + uint8_t LowHzMotorCmdByte; // 电机低频率控制命令的字节 -typedef struct { - // 定义 电机控制命令数据包 - COMHead head; + COMData32 Res[1]; // 通讯 保留字节 用于实现别的一些通讯内容 + +} MasterComdV3; // 加上数据包的包头 和CRC 34字节 + +typedef struct +{ + // 定义 电机控制命令数据包 + COMHead head; MasterComdV3 Mdata; COMData32 CRCdata; -}MasterComdDataV3;//返回数据 +} MasterComdDataV3; //返回数据 // typedef struct { // // 定义 总得485 数据包 - + // MasterComdData M1; // MasterComdData M2; // MasterComdData M3; - + // }DMA485TxDataV3; #pragma pack() #pragma pack(1) -typedef struct { // 以 4个字节一组排列 ,不然编译器会凑整 +typedef struct +{ // 以 4个字节一组排列 ,不然编译器会凑整 // 定义 数据 - uint8_t mode; // 当前关节模式 - uint8_t ReadBit; // 电机控制参数修改 是否成功位 - int8_t Temp; // 电机当前平均温度 - uint8_t MError; // 电机错误 标识 - - COMData32 Read; // 读取的当前 电机 的控制数据 - int16_t T; // 当前实际电机输出力矩 7 + 8 描述 + uint8_t mode; // 当前关节模式 + uint8_t ReadBit; // 电机控制参数修改 是否成功位 + int8_t Temp; // 电机当前平均温度 + uint8_t MError; // 电机错误 标识 - int16_t W; // 当前实际电机速度(高速) 8 + 7 描述 - float LW; // 当前实际电机速度(低速) + COMData32 Read; // 读取的当前 电机 的控制数据 + int16_t T; // 当前实际电机输出力矩 7 + 8 描述 - int16_t W2; // 当前实际关节速度(高速) 8 + 7 描述 - float LW2; // 当前实际关节速度(低速) + int16_t W; // 当前实际电机速度(高速) 8 + 7 描述 + float LW; // 当前实际电机速度(低速) - int16_t Acc; // 电机转子加速度 15+0 描述 惯量较小 - int16_t OutAcc; // 输出轴加速度 12+3 描述 惯量较大 - - int32_t Pos; // 当前电机位置(主控0点修正,电机关节还是以编码器0点为准) - int32_t Pos2; // 关节编码器位置(输出编码器) + int16_t W2; // 当前实际关节速度(高速) 8 + 7 描述 + float LW2; // 当前实际关节速度(低速) - int16_t gyro[3]; // 电机驱动板6轴传感器数据 - int16_t acc[3]; + int16_t Acc; // 电机转子加速度 15+0 描述 惯量较小 + int16_t OutAcc; // 输出轴加速度 12+3 描述 惯量较大 - // 力传感器的数据 - int16_t Fgyro[3]; // - int16_t Facc[3]; - int16_t Fmag[3]; - uint8_t Ftemp; // 8位表示的温度 7位(-28~100度) 1位0.5度分辨率 - - int16_t Force16; // 力传感器高16位数据 - int8_t Force8; // 力传感器低8位数据 - - uint8_t FError; // 足端传感器错误标识 - - int8_t Res[1]; // 通讯 保留字节 - -}ServoComdV3; // 加上数据包的包头 和CRC 78字节(4+70+4) + int32_t Pos; // 当前电机位置(主控0点修正,电机关节还是以编码器0点为准) + int32_t Pos2; // 关节编码器位置(输出编码器) -typedef struct { - // 定义 电机控制命令数据包 - COMHead head; - ServoComdV3 Mdata; + int16_t gyro[3]; // 电机驱动板6轴传感器数据 + int16_t acc[3]; - COMData32 CRCdata; + // 力传感器的数据 + int16_t Fgyro[3]; // + int16_t Facc[3]; + int16_t Fmag[3]; + uint8_t Ftemp; // 8位表示的温度 7位(-28~100度) 1位0.5度分辨率 -}ServoComdDataV3; //发送数据 + int16_t Force16; // 力传感器高16位数据 + int8_t Force8; // 力传感器低8位数据 + + uint8_t FError; // 足端传感器错误标识 + + int8_t Res[1]; // 通讯 保留字节 + +} ServoComdV3; // 加上数据包的包头 和CRC 78字节(4+70+4) + +typedef struct +{ + // 定义 电机控制命令数据包 + COMHead head; + ServoComdV3 Mdata; + + COMData32 CRCdata; + +} ServoComdDataV3; //发送数据 // typedef struct { // // 定义 总的485 接受数据包 - + // ServoComdDataV3 M[3]; // // uint8_t nullbyte1; - -// }DMA485RxDataV3; +// }DMA485RxDataV3; #pragma pack() -// 00 00 00 00 00 -// 00 00 00 00 00 -// 00 00 00 00 00 +// 00 00 00 00 00 +// 00 00 00 00 00 +// 00 00 00 00 00 // 00 00 00 -// 数据包默认初始化 -// 主机发送的数据包 +// 数据包默认初始化 +// 主机发送的数据包 /* - Tx485Data[_FR][i].head.start[0] = 0xFE ; Tx485Data[_FR][i].head.start[1] = 0xEE; // 数据包头 - Tx485Data[_FR][i].Mdata.ModifyBit = 0xFF; Tx485Data[_FR][i].Mdata.mode = 0; // 默认不修改数据 和 电机的默认工作模式 - Tx485Data[_FR][i].head.motorID = i; 0 // 目标电机标号 - Tx485Data[_FR][i].Mdata.T = 0.0f; // 默认目标关节输出力矩 motor1.Extra_Torque = motorRxData[1].Mdata.T*0.390625f; // N.M 转化为 N.CM IQ8描述 - Tx485Data[_FR][i].Mdata.Pos = 0x7FE95C80; // 默认目标关节位置 不启用位置环 14位分辨率 - Tx485Data[_FR][i].Mdata.W = 16000.0f; // 默认目标关节速度 不启用速度环 1+8+7描述 motor1.Target_Speed = motorRxData[1].Mdata.W*0.0078125f; // 单位 rad/s IQ7描述 - Tx485Data[_FR][i].Mdata.K_P = (q15_t)(0.6f*(1<<11)); // 默认关节刚度系数 4+11 描述 motor1.K_Pos = ((float)motorRxData[1].Mdata.K_P)/(1<<11); // 描述刚度的通讯数据格式 4+11 - Tx485Data[_FR][i].Mdata.K_W = (q15_t)(1.0f*(1<<10)); // 默认关节速度系数 5+10 描述 motor1.K_Speed = ((float)motorRxData[1].Mdata.K_W)/(1<<10); // 描述阻尼的通讯数据格式 5+10 -*/ - + Tx485Data[_FR][i].head.start[0] = 0xFE ; Tx485Data[_FR][i].head.start[1] = 0xEE; // 数据包头 + Tx485Data[_FR][i].Mdata.ModifyBit = 0xFF; Tx485Data[_FR][i].Mdata.mode = 0; // 默认不修改数据 和 电机的默认工作模式 + Tx485Data[_FR][i].head.motorID = i; 0 // 目标电机标号 + Tx485Data[_FR][i].Mdata.T = 0.0f; // 默认目标关节输出力矩 motor1.Extra_Torque = motorRxData[1].Mdata.T*0.390625f; // N.M 转化为 N.CM IQ8描述 + Tx485Data[_FR][i].Mdata.Pos = 0x7FE95C80; // 默认目标关节位置 不启用位置环 14位分辨率 + Tx485Data[_FR][i].Mdata.W = 16000.0f; // 默认目标关节速度 不启用速度环 1+8+7描述 motor1.Target_Speed = motorRxData[1].Mdata.W*0.0078125f; // 单位 rad/s IQ7描述 + Tx485Data[_FR][i].Mdata.K_P = (q15_t)(0.6f*(1<<11)); // 默认关节刚度系数 4+11 描述 motor1.K_Pos = ((float)motorRxData[1].Mdata.K_P)/(1<<11); // 描述刚度的通讯数据格式 4+11 + Tx485Data[_FR][i].Mdata.K_W = (q15_t)(1.0f*(1<<10)); // 默认关节速度系数 5+10 描述 motor1.K_Speed = ((float)motorRxData[1].Mdata.K_W)/(1<<10); // 描述阻尼的通讯数据格式 5+10 +*/ #endif \ No newline at end of file diff --git a/include/unitreeMotor/unitreeMotor.h b/include/unitreeMotor/unitreeMotor.h index 8964299..522a87f 100755 --- a/include/unitreeMotor/unitreeMotor.h +++ b/include/unitreeMotor/unitreeMotor.h @@ -1,116 +1,57 @@ -#ifndef UNITREEMOTOR_H -#define UNITREEMOTOR_H +#ifndef __UNITREEMOTOR_H +#define __UNITREEMOTOR_H -#include "unitreeMotor/include/motor_msg.h" // 电机通信协议 -#include "CRC/crc32.h" // CRC32校验算法 +#include "unitreeMotor/include/motor_msg.h" // 电机通信协议 #include #include -enum class MotorType{ - A1, // 4.8M baudrate, K_W x1024 - B1 // 6.0M baudrate, K_W x512 +enum class MotorType +{ + A1, // 4.8M baudrate, K_W x1024 + B1 // 6.0M baudrate, K_W x512 + }; -struct MOTOR_send{ - // 定义 发送格式化数据 - MasterComdDataV3 motor_send_data; //电机控制数据结构体,详见motor_msg.h - MotorType motorType = MotorType::A1; - int hex_len = 34; //发送的16进制命令数组长度, 34 - // long long send_time; //发送该命令的时间, 微秒(us) - // 待发送的各项数据 - unsigned short id; //电机ID,0xBB代表全部电机 - unsigned short mode; //0:空闲, 5:开环转动, 10:闭环FOC控制 - //实际给FOC的指令力矩为: - //K_P*delta_Pos + K_W*delta_W + T - float T; //期望关节的输出力矩(电机本身的力矩)(Nm) - float W; //期望关节速度(电机本身的速度)(rad/s) - float Pos; //期望关节位置(rad) - float K_P; //关节刚度系数 - float K_W; //关节速度系数 - COMData32 Res; // 通讯 保留字节 用于实现别的一些通讯内容 +struct MotorCmd +{ + // 定义 发送格式化数据 +public: + MotorType motorType; + int hex_len = 34; + unsigned short id; //电机ID,0xBB代表全部电机 + unsigned short mode; // 0:空闲, 5:开环转动, 10:闭环FOC控制 + float T; //期望关节的输出力矩(电机本身的力矩)(Nm) + float W; //期望关节速度(电机本身的速度)(rad/s) + float Pos; //期望关节位置(rad) + float K_P; //关节刚度系数 + float K_W; //关节速度系数 + void modify_data(MotorCmd *motor_s); + uint8_t *get_motor_send_data(); + COMData32 Res; // 通讯 保留字节 用于实现别的一些通讯内容 + MasterComdDataV3 motor_send_data; //电机控制数据结构体,详见motor_msg.h }; -struct MOTOR_recv{ - // 定义 接收数据 - ServoComdDataV3 motor_recv_data; //电机接收数据结构体,详见motor_msg.h - MotorType motorType = MotorType::A1; - int hex_len = 78; //接收的16进制命令数组长度, 78 - // long long resv_time; //接收该命令的时间, 微秒(us) - bool correct = false; //接收数据是否完整(true完整,false不完整) - //解读得出的电机数据 - unsigned char motor_id; //电机ID - unsigned char mode; //0:空闲, 5:开环转动, 10:闭环FOC控制 - int Temp; //温度 - unsigned char MError; //错误码 - - float T; // 当前实际电机输出力矩 - float W; // 当前实际电机速度(高速) - float LW; // 当前实际电机速度(低速) - int Acc; // 电机转子加速度 - float Pos; // 当前电机位置(主控0点修正,电机关节还是以编码器0点为准) - - float gyro[3]; // 电机驱动板6轴传感器数据 - float acc[3]; +struct MotorData +{ + // 定义 接收数据 +public: + MotorType motorType; + int hex_len = 78; //接收的16进制命令数组长度, 78 + unsigned char motor_id; //电机ID + unsigned char mode; // 0:空闲, 5:开环转动, 10:闭环FOC控制 + int Temp; //温度 + int MError; //错误码 + float T; // 当前实际电机输出力矩 + float W; // 当前实际电机速度(高速) + float Pos; // 当前电机位置 + bool correct = false; //接收数据是否完整(true完整,false不完整) + bool extract_data(MotorData *motor_r); + uint8_t *get_motor_recv_data(); + float LW; // 当前实际电机速度(低速) + int Acc; // 电机转子加速度 + float gyro[3]; // 电机驱动板6轴传感器数据 + float acc[3]; + ServoComdDataV3 motor_recv_data; //电机接收数据结构体,详见motor_msg_A1B1.h }; -inline void modify_data(MOTOR_send* motor_s){ - motor_s->hex_len = 34; - motor_s->motor_send_data.head.start[0] = 0xFE; - motor_s->motor_send_data.head.start[1] = 0xEE; - motor_s->motor_send_data.head.motorID = motor_s->id; - motor_s->motor_send_data.head.reserved = 0x0; - motor_s->motor_send_data.Mdata.mode = motor_s->mode; - motor_s->motor_send_data.Mdata.ModifyBit = 0xFF; - motor_s->motor_send_data.Mdata.ReadBit = 0x0; - motor_s->motor_send_data.Mdata.reserved = 0x0; - motor_s->motor_send_data.Mdata.Modify.L = 0; - motor_s->motor_send_data.Mdata.T = motor_s->T*256; - motor_s->motor_send_data.Mdata.W = motor_s->W*128; - motor_s->motor_send_data.Mdata.Pos = (int)((motor_s->Pos/6.2832)*16384.0); - motor_s->motor_send_data.Mdata.K_P = motor_s->K_P*2048; - - if(motor_s->motorType == MotorType::A1){ - motor_s->motor_send_data.Mdata.K_W = motor_s->K_W*1024; - } - else if(motor_s->motorType == MotorType::B1){ - motor_s->motor_send_data.Mdata.K_W = motor_s->K_W*512; - } - - motor_s->motor_send_data.Mdata.LowHzMotorCmdIndex = 0; - motor_s->motor_send_data.Mdata.LowHzMotorCmdByte = 0; - motor_s->motor_send_data.Mdata.Res[0] = motor_s->Res; - motor_s->motor_send_data.CRCdata.u32 = crc32_core((uint32_t*)(&(motor_s->motor_send_data)), 7); -} - -inline bool extract_data(MOTOR_recv* motor_r){ - if(motor_r->motor_recv_data.CRCdata.u32 != - crc32_core((uint32_t*)(&(motor_r->motor_recv_data)), 18)){ - std::cout << "[WARNING] Receive data CRC error" << std::endl; - motor_r->correct = false; - return motor_r->correct; - }else{ - motor_r->motor_id = motor_r->motor_recv_data.head.motorID; - motor_r->mode = motor_r->motor_recv_data.Mdata.mode; - motor_r->Temp = motor_r->motor_recv_data.Mdata.Temp; - motor_r->MError = motor_r->motor_recv_data.Mdata.MError; - motor_r->T = ((float)motor_r->motor_recv_data.Mdata.T) / 256; - motor_r->W = ((float)motor_r->motor_recv_data.Mdata.W) / 128; - motor_r->LW = motor_r->motor_recv_data.Mdata.LW; - - motor_r->Acc = (int)motor_r->motor_recv_data.Mdata.Acc; - motor_r->Pos = 6.2832*((float)motor_r->motor_recv_data.Mdata.Pos) / 16384; - - motor_r->gyro[0] = ((float)motor_r->motor_recv_data.Mdata.gyro[0]) * 0.00107993176; - motor_r->gyro[1] = ((float)motor_r->motor_recv_data.Mdata.gyro[1]) * 0.00107993176; - motor_r->gyro[2] = ((float)motor_r->motor_recv_data.Mdata.gyro[2]) * 0.00107993176; - - motor_r->acc[0] = ((float)motor_r->motor_recv_data.Mdata.acc[0]) * 0.0023911132; - motor_r->acc[1] = ((float)motor_r->motor_recv_data.Mdata.acc[1]) * 0.0023911132; - motor_r->acc[2] = ((float)motor_r->motor_recv_data.Mdata.acc[2]) * 0.0023911132; - - motor_r->correct = true; - return motor_r->correct; - } -} - -#endif // UNITREEMOTOR_H \ No newline at end of file +#endif // UNITREEMOTOR_H \ No newline at end of file diff --git a/lib/libunitreeMotorSDK_Arm32.so b/lib/libunitreeMotorSDK_Arm32.so deleted file mode 100755 index 7731d1c12372a06bd774a2a0a8117ceadba02908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35536 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 literal 41368 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