Программа была собранна на OBS.
Ошибки сборки по порядку их поступления и добавленные исправления.
Первая ошибка сборки:
[ 32s] In file included from /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/ArgumentParser.cpp:26:
[ 32s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/ArgumentParser.hpp:65:5: error: ‘uint32_t’ does not name a type
[ 32s] 65 | uint32_t toUint32(const std::string &longOption) const;
[ 32s] | ^~~~~~~~
[ 32s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/ArgumentParser.hpp:40:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
[ 32s] 39 | #include <WarningsDisable.hpp>
[ 32s] +++ |+#include <cstdint>
[ 32s] 40 |
[ 32s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/ArgumentParser.hpp:66:5: error: ‘uint64_t’ does not name a type
[ 32s] 66 | uint64_t toUint64(const std::string &longOption) const;
[ 32s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/Json.hpp:152:5: error: ‘uint32_t’ does not name a type
[ 32s] 152 | uint32_t uint32() const;
[ 32s] | ^~~~~~~~
[ 32s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/Json.hpp:41:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
[ 32s] 40 | #include <WarningsDisable.hpp>
[ 32s] +++ |+#include <cstdint>
[ 32s] 41 |
[ 32s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core/Json.hpp:153:5: error: ‘uint64_t’ does not name a type
[ 32s] 153 | uint64_t uint64() const;
[ 32s] | ^~~~~~~~
Исправление
diff --git a/src/core/ArgumentParser.hpp b/src/core/ArgumentParser.hpp
index 076cab1e..093d6eb7 100644
--- a/src/core/ArgumentParser.hpp
+++ b/src/core/ArgumentParser.hpp
@@ -37,6 +37,7 @@
// Include local.
#include <ExportCore.hpp>
#include <WarningsDisable.hpp>
+#include <cstdint>
/** Argument Parser. */
class EXPORT_CORE ArgumentParser
diff --git a/src/core/Json.hpp b/src/core/Json.hpp
index a7940cfb..e12a561b 100644
--- a/src/core/Json.hpp
+++ b/src/core/Json.hpp
@@ -38,6 +38,7 @@
// Include local.
#include <ExportCore.hpp>
#include <WarningsDisable.hpp>
+#include <cstdint>
class Json;
Ошибка вторая:
[ 69s] FAILED: [code=1] src/apps/tools/iland/CMakeFiles/3DForestILand.dir/iland.cpp.o
[ 69s] /usr/bin/c++ -I/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/build/src/apps/tools/iland/3DForestILand_autogen/include -I/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/apps/tools/iland/../../../../3rdparty/iland-model/src -I/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/core -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -D_FILE_OFFSET_BITS=64 -std=c++17 -pedantic -Wall -Wextra -Wshadow -Wredundant-decls -Wconversion -Wsign-conversion -Wfloat-equal -Wcast-align -Wcast-qual -Wswitch-default -Wswitch-enum -Wlogical-op -Wwrite-strings -Wold-style-cast -Woverloaded-virtual -O2 -g -DNDEBUG -MD -MT src/apps/tools/iland/CMakeFiles/3DForestILand.dir/iland.cpp.o -MF src/apps/tools/iland/CMakeFiles/3DForestILand.dir/iland.cpp.o.d -o src/apps/tools/iland/CMakeFiles/3DForestILand.dir/iland.cpp.o -c /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/apps/tools/iland/iland.cpp
[ 69s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/src/apps/tools/iland/iland.cpp:30:10: fatal error: QCoreApplication: No such file or directory
[ 69s] 30 | #include <QCoreApplication>
[ 69s] | ^~~~~~~~~~~~~~~~~~
[ 69s] compilation terminated.
Исправление
diff --git a/src/apps/tools/iland/CMakeLists.txt b/src/apps/tools/iland/CMakeLists.txt
index 0422bce4..ab5be5bb 100644
--- a/src/apps/tools/iland/CMakeLists.txt
+++ b/src/apps/tools/iland/CMakeLists.txt
@@ -25,6 +25,8 @@ endif()
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
+find_package(Qt6 COMPONENTS Core REQUIRED)
+
add_executable(
${SUB_PROJECT_NAME}
iland.cpp
@@ -38,9 +40,11 @@ target_include_directories(
target_link_libraries(
${SUB_PROJECT_NAME}
+ PRIVATE
+ Qt6::Core
PUBLIC
3DForestCore
ILandModel
)
-install(TARGETS ${SUB_PROJECT_NAME} DESTINATION bin)
\ No newline at end of file
+install(TARGETS ${SUB_PROJECT_NAME} DESTINATION bin)
Ошибка третья:
[ 104s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/3rdparty/iland-model/src/abe/patches.cpp: In member function ‘bool ABE::Patches::createPatch(double, double, QString, int)’:
[ 104s] /home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/3rdparty/iland-model/src/abe/patches.cpp:140:1: error: control reaches end of non-void function [-Werror=return-type]
[ 104s] 140 | }
[ 104s] | ^
[ 104s] cc1plus: some warnings being treated as errors
Исправление
3d-forest.spec: -DCMAKE_CXX_FLAGS="%{optflags} -Wno-error=return-type"
Ошибка четвёртая:
[ 327s] [494/539] : && /usr/bin/c++ -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -Wno-error=return-type -D_FILE_OFFSET_BITS=64 -std=c++17 -pedantic -Wall -Wextra -Wshadow -Wredundant-decls -Wconversion -Wsign-conversion -Wfloat-equal -Wcast-align -Wcast-qual -Wswitch-default -Wswitch-enum -Wlogical-op -Wwrite-strings -Wold-style-cast -Woverloaded-virtual -O2 -g -DNDEBUG -Wl,--as-needed -Wl,--no-undefined -Wl,--dependency-file=src/apps/examples/flann/CMakeFiles/3DForestExampleFlann.dir/link.d src/apps/examples/flann/CMakeFiles/3DForestExampleFlann.dir/exampleFlann.cpp.o -o src/apps/examples/flann/3DForestExampleFlann -Wl,-rpath,/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/build/src/editor:/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/build/src/core: -lLZ4 src/editor/lib3DForestEditor.so src/core/lib3DForestCore.so && :
[ 327s] FAILED: [code=1] src/apps/examples/flann/3DForestExampleFlann
[ 327s] : && /usr/bin/c++ -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -Wno-error=return-type -D_FILE_OFFSET_BITS=64 -std=c++17 -pedantic -Wall -Wextra -Wshadow -Wredundant-decls -Wconversion -Wsign-conversion -Wfloat-equal -Wcast-align -Wcast-qual -Wswitch-default -Wswitch-enum -Wlogical-op -Wwrite-strings -Wold-style-cast -Woverloaded-virtual -O2 -g -DNDEBUG -Wl,--as-needed -Wl,--no-undefined -Wl,--dependency-file=src/apps/examples/flann/CMakeFiles/3DForestExampleFlann.dir/link.d src/apps/examples/flann/CMakeFiles/3DForestExampleFlann.dir/exampleFlann.cpp.o -o src/apps/examples/flann/3DForestExampleFlann -Wl,-rpath,/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/build/src/editor:/home/abuild/rpmbuild/BUILD/3d-forest-20260324+git.bb88d98-build/3d-forest-20260324+git.bb88d98/build/src/core: -lLZ4 src/editor/lib3DForestEditor.so src/core/lib3DForestCore.so && :
[ 327s] /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: cannot find -lLZ4: No such file or directory
[ 327s] collect2: error: ld returned 1 exit status
Исправление
diff --git a/src/apps/examples/flann/CMakeLists.txt b/src/apps/examples/flann/CMakeLists.txt
index 8e97a92d..f4cc834b 100644
--- a/src/apps/examples/flann/CMakeLists.txt
+++ b/src/apps/examples/flann/CMakeLists.txt
@@ -19,18 +19,20 @@ set(SUB_PROJECT_NAME "3DForestExampleFlann")
add_executable(${SUB_PROJECT_NAME} exampleFlann.cpp)
+find_package(lz4 REQUIRED)
+
target_include_directories(
${SUB_PROJECT_NAME}
PUBLIC
- ../../../../3rdparty/lz4/lib
+# ../../../../3rdparty/lz4/lib
../../../../3rdparty/flann/src/cpp
)
target_link_libraries(
${SUB_PROJECT_NAME}
PUBLIC
- LZ4
+ LZ4::lz4
)
target_link_libraries(${SUB_PROJECT_NAME} PUBLIC 3DForestEditor)
-install(TARGETS ${SUB_PROJECT_NAME} DESTINATION bin)
\ No newline at end of file
+install(TARGETS ${SUB_PROJECT_NAME} DESTINATION bin)
Документация отстаёт.

Программа была собранна на OBS.
Ошибки сборки по порядку их поступления и добавленные исправления.
Первая ошибка сборки:
Исправление
Ошибка вторая:
Исправление
Ошибка третья:
Исправление
Ошибка четвёртая:
Исправление
Документация отстаёт.
