Explorar o código

Merge pull request #100331 from akien-mga/jolt-fix-mingw-lto-multiple-definitions

Jolt: Fix multiple definition LTO linking issue with mingw-gcc
Thaddeus Crews hai 8 meses
pai
achega
6acb58d95a

+ 4 - 0
modules/jolt_physics/spaces/jolt_layers.cpp

@@ -191,6 +191,10 @@ JoltLayers::JoltLayers() {
 	_allocate_object_layer(0);
 }
 
+// MinGW GCC using LTO will emit errors during linking if this is defined in the header file, implicitly or otherwise.
+// Likely caused by this GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94156
+JoltLayers::~JoltLayers() = default;
+
 JPH::ObjectLayer JoltLayers::to_object_layer(JPH::BroadPhaseLayer p_broad_phase_layer, uint32_t p_collision_layer, uint32_t p_collision_mask) {
 	const uint64_t collision = encode_collision(p_collision_layer, p_collision_mask);
 

+ 1 - 0
modules/jolt_physics/spaces/jolt_layers.h

@@ -63,6 +63,7 @@ class JoltLayers final
 
 public:
 	JoltLayers();
+	virtual ~JoltLayers();
 
 	JPH::ObjectLayer to_object_layer(JPH::BroadPhaseLayer p_broad_phase_layer, uint32_t p_collision_layer, uint32_t p_collision_mask);
 	void from_object_layer(JPH::ObjectLayer p_encoded_layer, JPH::BroadPhaseLayer &r_broad_phase_layer, uint32_t &r_collision_layer, uint32_t &r_collision_mask) const;