My problem is this huge error message I get during compilation. I am 100% sure that I messed something up on my side.
I hope that somebody can help me out fix this issue. Otherwise I can't continue this project.
Weirdly glm compiles likes a charm using g++ (But can't use because I have other problems there), so it has to be some compiler settings which are messed up.
And just a few weeks ago it worked without any problems. If I can remember correctly the first weird compiler errors in regards to glm started hapening after switching to flecs.
Mostly I could get around the compilation issues by only including glm headers in .cpp files, which makes the development very hard and now I'm at a point where I can't do this anymore.
Hopefully this background info helps narrow the issue down.
Sadly the compiler errors are in german, but they basically say that there are syntax errors.
For example, it tells me that a bracket is missing, even though it is there.
My setup:
MSVC bundled with Visual Studio 2022 17.9.6 (tried older version beforehand, same error)
target_precompile_headers(FuturisLib PUBLIC Futuris/fpch.hpp)
target_compile_definitions(FuturisLib PUBLIC $<$:FUTURIS_RELEASE>)
target_compile_definitions(FuturisLib PUBLIC $<$:FLECS_NDEBUG>)
target_compile_definitions(FuturisLib PUBLIC $<$:FUTURIS_DEBUG>)
target_compile_definitions(FuturisLib PUBLIC $<$:FLECS_DEBUG>)
target_compile_definitions(FuturisLib PUBLIC GLM_FORCE_DEPTH_ZERO_TO_ONE) # Vulkan uses depth zero to one
target_compile_definitions(FuturisLib PUBLIC GLM_ENABLE_EXPERIMENTAL)
target_compile_definitions(FuturisLib PUBLIC FT_PROFILING)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/Futuris/src)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/assimp/include)
target_link_libraries(FuturisLib PUBLIC assimp)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/glfw/include)
target_link_libraries(FuturisLib PUBLIC glfw)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/glm)
target_link_libraries(FuturisLib PUBLIC glm::glm-header-only)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/imgui/include)
target_link_libraries(FuturisLib PUBLIC imgui)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/spdlog/include)
target_link_libraries(FuturisLib PUBLIC spdlog::spdlog)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/stbi/include)
target_link_libraries(FuturisLib PUBLIC stbi)
target_link_libraries(FuturisLib PUBLIC flecs::flecs_static)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/flecs)
Vulkan
find_package(Vulkan REQUIRED)
target_include_directories(FuturisLib PUBLIC ${Vulkan_INCLUDE_DIRS})
target_link_libraries(FuturisLib PRIVATE ${Vulkan_LIBRARIES})`
Error Message
`F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): warning C4003: Nicht genügend Argumente für den Aufruf des funktionsähnlichen Makros "min".
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2589: "(": Ungültiges Token auf der rechten Seite von "::"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token "(" nach "expression"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: "( ("
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: "<" wurde hier nicht erwartet, sondern "statement".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: "<"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: ")" wurde hier nicht erwartet, sondern "Ausdruck".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: ")" wurde hier nicht erwartet, sondern ";".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "expression_statement"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "statement"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "selection_statement"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "statement_seq"
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Es fehlt einer von: '}' ?
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: ")" wurde hier nicht erwartet, sondern "}".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "compound_statement"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: ") ) ?"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: ") :"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: ") ) )"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(68): error C2065: "VectorMagnitude": nichtdeklarierter Bezeichner
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf.
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(33): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(41): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "max".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(49): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "max".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(57): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min".
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(3): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(5): error C2143: Syntaxfehler: Es fehlt ";" vor "{"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(5): error C2447: "{": Funktionsheader fehlt - Parameterliste im alten Stil?
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min".
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(9): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(11): error C2143: Syntaxfehler: Es fehlt ";" vor "{"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(11): error C2447: "{": Funktionsheader fehlt - Parameterliste im alten Stil?
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "max".
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter".
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(15): note: Siehe Deklaration von "T"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2061: Syntaxfehler: Bezeichner "a"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2059: Syntaxfehler: ")"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b"
F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): fatal error C1003: Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen.
My problem is this huge error message I get during compilation. I am 100% sure that I messed something up on my side.
I hope that somebody can help me out fix this issue. Otherwise I can't continue this project. Weirdly glm compiles likes a charm using g++ (But can't use because I have other problems there), so it has to be some compiler settings which are messed up. And just a few weeks ago it worked without any problems. If I can remember correctly the first weird compiler errors in regards to glm started hapening after switching to flecs. Mostly I could get around the compilation issues by only including glm headers in .cpp files, which makes the development very hard and now I'm at a point where I can't do this anymore. Hopefully this background info helps narrow the issue down.
Sadly the compiler errors are in german, but they basically say that there are syntax errors. For example, it tells me that a bracket is missing, even though it is there.
My setup:
CMake Setup cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
add_library(FuturisLib STATIC Futuris/Core/Base.hpp Futuris/Core/Algorithms.hpp Futuris/Core/Logging/Log.cpp Futuris/Core/Logging/Log.hpp Futuris/Core/Profiling/Profiler.cpp Futuris/Core/Profiling/Profiler.hpp Futuris/EventSystem/Event.hpp Futuris/EventSystem/EventManager.cpp Futuris/EventSystem/EventManager.hpp Futuris/Util/Singleton.hpp Futuris/EventSystem/Events/InputEvents.hpp Futuris/Core/Input/Input.cpp Futuris/Core/Input/Input.hpp Futuris/Core/Input/KeyCodes.hpp Futuris/Core/Input/Shortcut.cpp Futuris/Core/Input/Shortcut.hpp Futuris/Core/Application.cpp Futuris/Core/Application.hpp Futuris/Core/Window.cpp Futuris/Core/Window.hpp Futuris/EventSystem/Events/WindowEvents.hpp Futuris/Core/Timer.hpp Futuris/Core/TimeStep.hpp Futuris/Rendering/Context/DebugUtilsMessenger.cpp Futuris/Rendering/Context/DebugUtilsMessenger.hpp Futuris/Rendering/Context/Device.cpp Futuris/Rendering/Context/Device.hpp Futuris/Rendering/Context/Instance.cpp Futuris/Rendering/Context/Instance.hpp Futuris/Rendering/Context/PhysicalDevice.cpp Futuris/Rendering/Context/PhysicalDevice.hpp Futuris/Rendering/Context/QueueFamilyIndices.cpp Futuris/Rendering/Context/QueueFamilyIndices.hpp Futuris/Rendering/Context/Surface.cpp Futuris/Rendering/Context/Surface.hpp Futuris/Rendering/Context/Swapchain.cpp Futuris/Rendering/Context/Swapchain.hpp Futuris/Rendering/Context/VulkanBase.hpp Futuris/Rendering/Context/VulkanContext.cpp Futuris/Rendering/Context/VulkanContext.hpp Futuris/Rendering/Util/VulkanWrapper.hpp Futuris/Rendering/Native/Image.cpp Futuris/Rendering/Native/Image.hpp Futuris/Rendering/Native/Memory.hpp Futuris/Rendering/Native/Buffer.cpp Futuris/Rendering/Native/Buffer.hpp Futuris/Rendering/Native/CommandBuffer.cpp Futuris/Rendering/Native/CommandBuffer.hpp Futuris/Rendering/Native/CommandPool.cpp Futuris/Rendering/Native/CommandPool.hpp Futuris/Rendering/ImGui/ImGuiLayer.cpp Futuris/Rendering/ImGui/ImGuiLayer.hpp Futuris/Rendering/ImGui/ImIcons.hpp Futuris/Rendering/Native/DescriptorPool.cpp Futuris/Rendering/Native/DescriptorPool.hpp Futuris/Rendering/Native/DescriptorSet.cpp Futuris/Rendering/Native/DescriptorSet.hpp Futuris/Rendering/Native/DescriptorSetLayout.cpp Futuris/Rendering/Native/DescriptorSetLayout.hpp Futuris/Rendering/Renderer/Renderer.cpp Futuris/Rendering/Renderer/Renderer.hpp Futuris/ECS/GameObject.cpp Futuris/ECS/GameObject.hpp Futuris/ECS/Scene.cpp Futuris/ECS/Scene.hpp Futuris/Core/UUID.cpp Futuris/Core/UUID.hpp Futuris/ECS/Components/RequiredComponents.hpp Futuris/Asset/Asset.hpp Futuris/Asset/AssetDescription.hpp Futuris/Asset/AssetType.hpp Futuris/Asset/AssetManager.cpp Futuris/Asset/AssetManager.hpp Futuris/Core/EntryPoint.hpp Futuris/Core/LayerStack.cpp Futuris/Core/LayerStack.hpp Futuris/Core/Layer.cpp Futuris/Core/Layer.hpp Futuris/Rendering/Graphics/Texture.cpp Futuris/Rendering/Graphics/Texture.hpp Futuris/IO/Directory.cpp Futuris/IO/Directory.hpp Futuris/IO/File.cpp Futuris/IO/File.hpp Futuris/Util/Hashable.hpp Futuris/IO/BinaryWriter.cpp Futuris/IO/BinaryWriter.hpp Futuris/IO/BinaryReader.cpp Futuris/IO/BinaryReader.hpp Futuris/Rendering/Graphics/Model.cpp Futuris/Rendering/Graphics/Model.hpp Futuris/Rendering/Native/Pipeline.cpp Futuris/Rendering/Native/Pipeline.hpp Futuris/Rendering/Graphics/Vertex.hpp Futuris/ECS/Components/GraphicsComponents.hpp Futuris/Core/Camera.cpp Futuris/Core/Camera.hpp )
target_precompile_headers(FuturisLib PUBLIC Futuris/fpch.hpp)
target_compile_definitions(FuturisLib PUBLIC $<$:FUTURIS_RELEASE>)
target_compile_definitions(FuturisLib PUBLIC $<$:FLECS_NDEBUG>)
target_compile_definitions(FuturisLib PUBLIC $<$:FUTURIS_DEBUG>)
target_compile_definitions(FuturisLib PUBLIC $<$:FLECS_DEBUG>)
target_compile_definitions(FuturisLib PUBLIC GLM_FORCE_DEPTH_ZERO_TO_ONE) # Vulkan uses depth zero to one target_compile_definitions(FuturisLib PUBLIC GLM_ENABLE_EXPERIMENTAL)
target_compile_definitions(FuturisLib PUBLIC FT_PROFILING)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/Futuris/src) target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/assimp/include) target_link_libraries(FuturisLib PUBLIC assimp)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/glfw/include) target_link_libraries(FuturisLib PUBLIC glfw)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/glm) target_link_libraries(FuturisLib PUBLIC glm::glm-header-only)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/imgui/include) target_link_libraries(FuturisLib PUBLIC imgui)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/spdlog/include) target_link_libraries(FuturisLib PUBLIC spdlog::spdlog)
target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/stbi/include) target_link_libraries(FuturisLib PUBLIC stbi)
target_link_libraries(FuturisLib PUBLIC flecs::flecs_static) target_include_directories(FuturisLib PUBLIC ${PROJECT_SOURCE_DIR}/vendor/flecs)
Vulkan
find_package(Vulkan REQUIRED) target_include_directories(FuturisLib PUBLIC ${Vulkan_INCLUDE_DIRS}) target_link_libraries(FuturisLib PRIVATE ${Vulkan_LIBRARIES})`
Error Message
`F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): warning C4003: Nicht genügend Argumente für den Aufruf des funktionsähnlichen Makros "min". F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2589: "(": Ungültiges Token auf der rechten Seite von "::" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token "(" nach "expression" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: "( (" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: "<" wurde hier nicht erwartet, sondern "statement". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: "<" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: ")" wurde hier nicht erwartet, sondern "Ausdruck". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: ")" wurde hier nicht erwartet, sondern ";". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "expression_statement" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "statement" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "selection_statement" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "statement_seq" F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Es fehlt einer von: '}' ? F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C2760: Syntaxfehler: ")" wurde hier nicht erwartet, sondern "}". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): error C3878: Syntaxfehler: Unerwartetes Token ")" nach "compound_statement" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: ") ) ?" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: ") :" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(63): note: Fehler Wiederherstellung übersprungen: ") ) )" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\ext\quaternion_exponential.inl(68): error C2065: "VectorMagnitude": nichtdeklarierter Bezeichner F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/quaternion_exponential.hpp(51): note: Diese Diagnose trat in der vom Compiler generierten Funktion "glm::qua<T,Q> glm::pow(const glm::qua<T,Q> &,T)" auf. F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(33): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(34): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(41): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(42): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "max". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(49): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(50): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "max". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(57): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\gtx../ext/scalar_common.hpp(58): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min". F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(3): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(4): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(5): error C2143: Syntaxfehler: Es fehlt ";" vor "{" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(5): error C2447: "{": Funktionsheader fehlt - Parameterliste im alten Stil? F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "min". F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(9): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(10): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(11): error C2143: Syntaxfehler: Es fehlt ";" vor "{" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(11): error C2447: "{": Funktionsheader fehlt - Parameterliste im alten Stil? F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): warning C4002: Zu viele Argumente für den Aufruf des funktionsähnlichen Makros "max". F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2365: "T": Erneute Definition; vorherige Definition war "Vorlagenparameter". F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(15): note: Siehe Deklaration von "T" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2061: Syntaxfehler: Bezeichner "a" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2059: Syntaxfehler: ")" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2146: Syntaxfehler: Fehlendes ")" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "b" F:\Development\C++\Futuris\vendor\glm\glm\ext\scalar_common.inl(16): fatal error C1003: Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen.