[РЕШЕНО] Таки G1 в дуги. Скрипт с гита как-то странно собирается

Браузеры, почтовые клиенты, офисные пакеты, файловые менеджеры, редакторы и т.п.
Ответить
lnx
Сообщения: 113
Зарегистрирован: 24.08.2022

#

Суть вопроса - есть набор строк, g-code, с командами отрезковых переходов G1. Есть https://github.com/FormerLurker/ArcWelderLib, опробованный коллегами в работе, решающий задачу преобразования G1 в переходы по дугам G2 - эти дуги как раз теми отрезками апроксимированы. Выполняем инструкцию с гита -
git clone https://github.com/FormerLurker/ArcWelderLib.git
mkdir build
cd build
cmake ..
make

Сборка идет до 55%, затем сяпятся ошибки -
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
cd /home/us/1/5/ArcWelderLib/build && /r/bin/cmake -E cmake_depends "Unix Makefiles" /home/us/1/5/ArcWelderLib /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor /home/us/1/5/ArcWelderLib/build /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/DependInfo.cmake "--color="
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make  -f ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
[ 58%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /r/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp
In file included from /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp:37:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:15: ошибка: «uint16_t» не был декларирован
   96 |   void NOLESS(uint16_t& x, uint16_t y);
      |               ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:1:1: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
  +++ |+#include <cstdint>
    1 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:28: ошибка: «uint16_t» не был декларирован
   96 |   void NOLESS(uint16_t& x, uint16_t y);
      |                            ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:28: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
In file included from /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp:38:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:8: ошибка: использование перечисления «AxisEnum» без предыдущей декларации
   49 |   enum AxisEnum : uint8_t {
      |        ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:19: ошибка: нет декларации «uint8_t» в этой области видимости
   49 |   enum AxisEnum : uint8_t {
      |                   ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:1:1: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
  +++ |+#include <cstdint>
    1 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:27: ошибка: default member initializer for unnamed bit-field
   49 |   enum AxisEnum : uint8_t {
      |                           ^
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:73:11: ошибка: «uint8_t» не является именем типа
   73 |     const uint8_t circles     // Take the scenic route
      |           ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:73:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:80:11: ошибка: «uint8_t» не является именем типа
   80 |     const uint8_t circles     // Take the scenic route
      |           ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:80:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:86:11: ошибка: «uint8_t» не является именем типа
   86 |     const uint8_t circles     // Take the scenic route
      |           ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:86:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:15: ошибка: «uint16_t» не был декларирован
   94 |   void NOLESS(uint16_t& x, uint16_t y);
      |               ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:15: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:28: ошибка: «uint16_t» не был декларирован
   94 |   void NOLESS(uint16_t& x, uint16_t y);
      |                            ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:28: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
make[2]: *** [ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make:82: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o] Ошибка 1
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make[1]: *** [CMakeFiles/Makefile2:321: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/all] Ошибка 2
make[1]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make: *** [Makefile:139: all] Ошибка 2

Как и обещано гитом, исполняемый файл тем не менее находится в нужном месте, даже запускается и завершает работу без ошибок, бодро рапортуя -
~/1/5/ArcWelderLib/build/ArcWelderConsole$ ./ArcWelder -r=0.5 /home/us/linuxcnc/nc_files/текущие/ad2.ngc ad2_arcs.ngc
2025-05-08 16:21:45.004 - arc_welder.gcode_conversion - INFO - Processing GCode.
2025-05-08 16:21:45.004 - arc_welder.gcode_conversion - INFO - Arc Welder Arguments
	Source File Path             : /home/us/linuxcnc/nc_files/текущие/ad2.ngc
	Target File Path             : ad2_arcs.ngc
	Resolution                   : 0.50mm (+-0.25000mm)
	Path Tolerance               : 5.000%
	Maximum Arc Radius           : 9999.0mm
	Firmware Compensation        : False
	Allow 3D Arcs                : False
	Allow Travel Arcs            : False
	Allow Dynamic Precision      : False
	Default XYZ Precision        : 3
	Default E Precision          : 5
	Extrusion Rate Variance      : 5%
	G90/G91 Influences Extruder  : False
	Max Gcode Length             : Unlimited
	Log Level                    : INFO
	Hide Progress Updates        : False
	Progress Notification Period : 0.50 seconds
Progress:  00.0% complete - Estimating remaining time.
Progress: 100.0% complete - 0.039076 seconds total.
2025-05-08 16:21:45.044 - arc_welder.gcode_conversion - INFO - 
+---------------------------------------------+
|      Target File Extrusion Statistics       |
+---------------------------------------------+
|   Min          Max     Source  Target Change|
+---------------------------------------------+
|  0.000mm to   0.002mm       0       0   0.0%|
|  0.002mm to   0.005mm       0       0   0.0%|
|  0.005mm to   0.010mm       0       0   0.0%|
|  0.010mm to   0.050mm       0       0   0.0%|
|  0.050mm to   0.100mm       0       0   0.0%|
|  0.100mm to   0.500mm       0       0   0.0%|
|  0.500mm to   1.000mm       0       0   0.0%|
|  1.000mm to   5.000mm       0       0   0.0%|
|  5.000mm to  10.000mm       0       0   0.0%|
| 10.000mm to  20.000mm       0       0   0.0%|
| 20.000mm to  50.000mm       0       0   0.0%|
| 50.000mm to 100.000mm       0       0   0.0%|
|          >= 100.000mm       0       0   0.0%|
+---------------------------------------------+
|       Total distance:................0.000mm|
|   Total count source:......................0|
|   Total count target:......................0|
| Total percent change:...................0.0%|
+---------------------------------------------+

2025-05-08 16:21:45.044 - arc_welder.gcode_conversion - INFO - Arc Welder process completed successfully.
us@WAU:~/1/5/ArcWelderLib/build/ArcWelderConsole$ 

Но это пустой результат. Коллега, запускающий этот же файл с тем же параметрами и на том же примере
ad2.ngc.zip
(267.31 КБ) 0 скачиваний
-
./ArcWelder -r=0.5 ad2.ngc ad2_arcs.ngc
получает такой результат -
|Total distance source:............122072.386mm|
|Total distance target:............122075.020mm|
|   Total count source:...................42583|
|   Total count target:....................1665|
| Total percent change:..................-96.1%|

Вопрос - ЧЯДНТ?
Последний раз редактировалось lnx 08.05.2025 23:23, всего редактировалось 1 раз.
indeviral
Аватара пользователя
Сообщения: 215
Зарегистрирован: 15.08.2022

#

Попробуйте для начала установить
# pacman -S libc++ glibc
И посмотреть пропадут ли ошибки. Если нет то ошибки нужно будет исправить.

Ошибки в тексте-неповторимый стиль автора©

lnx
Сообщения: 113
Зарегистрирован: 24.08.2022

#

Спасибо за тык, оно установлено не был, а гит о таких зависимостях умалчивал. Но ошибки не ушли, на том же месте -
make
/usr/bin/cmake -S/home/us/1/5/ArcWelderLib -B/home/us/1/5/ArcWelderLib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/us/1/5/ArcWelderLib/build/CMakeFiles /home/us/1/5/ArcWelderLib/build//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
make  -f GcodeProcessorLib/CMakeFiles/GcodeProcessorLib.dir/build.make GcodeProcessorLib/CMakeFiles/GcodeProcessorLib.dir/depend
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
cd /home/us/1/5/ArcWelderLib/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/us/1/5/ArcWelderLib /home/us/1/5/ArcWelderLib/GcodeProcessorLib /home/us/1/5/ArcWelderLib/build /home/us/1/5/ArcWelderLib/build/GcodeProcessorLib /home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/CMakeFiles/GcodeProcessorLib.dir/DependInfo.cmake "--color="
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make  -f GcodeProcessorLib/CMakeFiles/GcodeProcessorLib.dir/build.make GcodeProcessorLib/CMakeFiles/GcodeProcessorLib.dir/build
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
make[2]: Цель «GcodeProcessorLib/CMakeFiles/GcodeProcessorLib.dir/build» не требует выполнения команд.
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
[ 35%] Built target GcodeProcessorLib
make  -f ArcWelder/CMakeFiles/ArcWelder.dir/build.make ArcWelder/CMakeFiles/ArcWelder.dir/depend
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
cd /home/us/1/5/ArcWelderLib/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/us/1/5/ArcWelderLib /home/us/1/5/ArcWelderLib/ArcWelder /home/us/1/5/ArcWelderLib/build /home/us/1/5/ArcWelderLib/build/ArcWelder /home/us/1/5/ArcWelderLib/build/ArcWelder/CMakeFiles/ArcWelder.dir/DependInfo.cmake "--color="
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make  -f ArcWelder/CMakeFiles/ArcWelder.dir/build.make ArcWelder/CMakeFiles/ArcWelder.dir/build
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
[ 38%] Building CXX object ArcWelder/CMakeFiles/ArcWelder.dir/arc_welder.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelder && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -O3 -DNDEBUG -std=gnu++11 -fPIC -O2 -MD -MT ArcWelder/CMakeFiles/ArcWelder.dir/arc_welder.cpp.o -MF CMakeFiles/ArcWelder.dir/arc_welder.cpp.o.d -o CMakeFiles/ArcWelder.dir/arc_welder.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelder/arc_welder.cpp
[ 41%] Linking CXX static library libArcWelder.a
cd /home/us/1/5/ArcWelderLib/build/ArcWelder && /usr/bin/cmake -P CMakeFiles/ArcWelder.dir/cmake_clean_target.cmake
cd /home/us/1/5/ArcWelderLib/build/ArcWelder && /usr/bin/cmake -E cmake_link_script CMakeFiles/ArcWelder.dir/link.txt --verbose=1
/usr/bin/ar qc libArcWelder.a CMakeFiles/ArcWelder.dir/arc_welder.cpp.o CMakeFiles/ArcWelder.dir/segmented_arc.cpp.o CMakeFiles/ArcWelder.dir/segmented_shape.cpp.o
/usr/bin/ranlib libArcWelder.a
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
[ 48%] Built target ArcWelder
make  -f ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/build.make ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/depend
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
cd /home/us/1/5/ArcWelderLib/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/us/1/5/ArcWelderLib /home/us/1/5/ArcWelderLib/ArcWelderConsole /home/us/1/5/ArcWelderLib/build /home/us/1/5/ArcWelderLib/build/ArcWelderConsole /home/us/1/5/ArcWelderLib/build/ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/DependInfo.cmake "--color="
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make  -f ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/build.make ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/build
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
[ 51%] Building CXX object ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/ArcWelderConsole.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderConsole && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/ArcWelder -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderConsole/CMakeFiles/ArcWelderConsole.dir/ArcWelderConsole.cpp.o -MF CMakeFiles/ArcWelderConsole.dir/ArcWelderConsole.cpp.o.d -o CMakeFiles/ArcWelderConsole.dir/ArcWelderConsole.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderConsole/ArcWelderConsole.cpp
[ 54%] Linking CXX executable ArcWelder
cd /home/us/1/5/ArcWelderLib/build/ArcWelderConsole && /usr/bin/cmake -E cmake_link_script CMakeFiles/ArcWelderConsole.dir/link.txt --verbose=1
/usr/bin/c++ -O3 -DNDEBUG -Wl,--dependency-file=CMakeFiles/ArcWelderConsole.dir/link.d CMakeFiles/ArcWelderConsole.dir/ArcWelderConsole.cpp.o -o ArcWelder  ../GcodeProcessorLib/libGcodeProcessorLib.a ../ArcWelder/libArcWelder.a ../GcodeProcessorLib/libGcodeProcessorLib.a
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
[ 54%] Built target ArcWelderConsole
make  -f ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/depend
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
cd /home/us/1/5/ArcWelderLib/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/us/1/5/ArcWelderLib /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor /home/us/1/5/ArcWelderLib/build /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/DependInfo.cmake "--color="
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make  -f ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
[ 58%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp
In file included from /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp:37:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:15: ошибка: «uint16_t» не был декларирован
   96 |   void NOLESS(uint16_t& x, uint16_t y);
      |               ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:1:1: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
  +++ |+#include <cstdint>
    1 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:28: ошибка: «uint16_t» не был декларирован
   96 |   void NOLESS(uint16_t& x, uint16_t y);
      |                            ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:28: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
In file included from /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp:38:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:8: ошибка: использование перечисления «AxisEnum» без предыдущей декларации
   49 |   enum AxisEnum : uint8_t {
      |        ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:19: ошибка: нет декларации «uint8_t» в этой области видимости
   49 |   enum AxisEnum : uint8_t {
      |                   ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:1:1: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
  +++ |+#include <cstdint>
    1 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:27: ошибка: default member initializer for unnamed bit-field
   49 |   enum AxisEnum : uint8_t {
      |                           ^
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:73:11: ошибка: «uint8_t» не является именем типа
   73 |     const uint8_t circles     // Take the scenic route
      |           ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:73:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:80:11: ошибка: «uint8_t» не является именем типа
   80 |     const uint8_t circles     // Take the scenic route
      |           ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:80:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:86:11: ошибка: «uint8_t» не является именем типа
   86 |     const uint8_t circles     // Take the scenic route
      |           ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:86:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:15: ошибка: «uint16_t» не был декларирован
   94 |   void NOLESS(uint16_t& x, uint16_t y);
      |               ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:15: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:28: ошибка: «uint16_t» не был декларирован
   94 |   void NOLESS(uint16_t& x, uint16_t y);
      |                            ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:28: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
make[2]: *** [ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make:82: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o] Ошибка 1
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make[1]: *** [CMakeFiles/Makefile2:321: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/all] Ошибка 2
make[1]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make: *** [Makefile:139: all] Ошибка 2


indeviral
Аватара пользователя
Сообщения: 215
Зарегистрирован: 15.08.2022

#

Ок. Тогда нужно в файлы
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h

Вписать в начало желательно если есть то после строк #include ***
Следующую строку:
#include <cstdint>
Если снова мимо то:
#include <stdint.h>

Ошибки в тексте-неповторимый стиль автора©

lnx
Сообщения: 113
Зарегистрирован: 24.08.2022

#

Еще раз спасибо, продвинулись дальше по процентам, теперь так -
 67%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/marlin_1.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/marlin_1.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/marlin_1.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/marlin_1.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.cpp
[ 70%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/marlin_2.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/marlin_2.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/marlin_2.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/marlin_2.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.cpp
[ 74%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/prusa.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/prusa.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/prusa.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/prusa.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/prusa.cpp
[ 77%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/repetier.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/repetier.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/repetier.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/repetier.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/repetier.cpp
[ 80%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/smoothieware.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /usr/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/smoothieware.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/smoothieware.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/smoothieware.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp: In member function «virtual std::string smoothieware::interpolate_arc(firmware_position&, double, double, double, bool)»:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:112:3: ошибка: нет декларации «uint8_t» в этой области видимости
  112 |   uint8_t smoothieware_isclockwise = is_clockwise ? 1 : 0;
      |   ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:34:1: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
   33 | #include "smoothieware.h"
  +++ |+#include <cstdint>
   34 | #include "utilities.h"
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:114:83: ошибка: нет декларации «smoothieware_isclockwise» в этой области видимости
  114 |   (this->*append_arc_)(&gcode_, smoothieware_target, smoothieware_offset, radius, smoothieware_isclockwise);
      |                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp: In member function «bool smoothieware::append_arc_2021_06_19(SmoothiewareGcode*, const float*, const float*, float, bool)»:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:194:3: ошибка: нет декларации «uint16_t» в этой области видимости
  194 |   uint16_t segments = (uint16_t)utilities::floorf(millimeters_of_travel / arc_segment);
      |   ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:194:3: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:197:7: ошибка: нет декларации «segments» в этой области видимости
  197 |   if (segments > 1) {
      |       ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:237:13: ошибка: expected «;» before «i»
  237 |     uint16_t i;
      |             ^~
      |             ;
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/smoothieware.cpp:246:10: ошибка: нет декларации «i» в этой области видимости
  246 |     for (i = 1; i < segments; i++) { // Increment (segments-1)
      |          ^
make[2]: *** [ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make:180: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/smoothieware.cpp.o] Ошибка 1
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make[1]: *** [CMakeFiles/Makefile2:321: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/all] Ошибка 2
make[1]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make: *** [Makefile:139: all] Ошибка 2
us@WAU:~/1/5/ArcWelderLib/build$ 


lnx
Сообщения: 113
Зарегистрирован: 24.08.2022

#

По аналогии добавил этот инклуд во все найденные файлы с расширением h, компиляция прошла полностью без ошибок -
[ 96%] Building CXX object PyArcWelder/CMakeFiles/PyArcWelder.dir/python_helpers.cpp.o
cd /home/us/1/5/ArcWelderLib/build/PyArcWelder && /usr/bin/c++ -DHAS_GENERATED_VERSION -DPyArcWelder_EXPORTS -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/usr/include/python3.13 -I/home/us/1/5/ArcWelderLib/ArcWelder -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -O3 -DNDEBUG -std=gnu++11 -fPIC -O2 -MD -MT PyArcWelder/CMakeFiles/PyArcWelder.dir/python_helpers.cpp.o -MF CMakeFiles/PyArcWelder.dir/python_helpers.cpp.o.d -o CMakeFiles/PyArcWelder.dir/python_helpers.cpp.o -c /home/us/1/5/ArcWelderLib/PyArcWelder/python_helpers.cpp
[100%] Linking C shared library PyArcWelder.so
cd /home/us/1/5/ArcWelderLib/build/PyArcWelder && /usr/bin/cmake -E cmake_link_script CMakeFiles/PyArcWelder.dir/link.txt --verbose=1
/usr/bin/cc -fPIC -O3 -DNDEBUG -Wl,--dependency-file=CMakeFiles/PyArcWelder.dir/link.d -shared -Wl,-soname,PyArcWelder.so -o PyArcWelder.so CMakeFiles/PyArcWelder.dir/py_arc_welder.cpp.o CMakeFiles/PyArcWelder.dir/py_arc_welder_extension.cpp.o CMakeFiles/PyArcWelder.dir/py_logger.cpp.o CMakeFiles/PyArcWelder.dir/python_helpers.cpp.o  ../ArcWelder/libArcWelder.a ../GcodeProcessorLib/libGcodeProcessorLib.a /usr/lib/libpython3.13.so -lstdc++ -lm
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
[100%] Built target PyArcWelder
make[1]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
/usr/bin/cmake -E cmake_progress_start /home/us/1/5/ArcWelderLib/build/CMakeFiles 0


Вот только толку от этого не прибавилось, дуги не создаются.
lnx
Сообщения: 113
Зарегистрирован: 24.08.2022

#

Решени было неспортивным - выкачать бинарник с https://github.com/FormerLurker/ArcWelderLib/releases.
Ответить