From 8d79c1468414cf4910c392df52b5e25e2a07ee79 Mon Sep 17 00:00:00 2001 From: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:05:33 +0900 Subject: [PATCH] Fix ambiguous build error of bridge app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ComposedDevice has the same type and variable name, so an ambiguous build error occurs as shown below. This change renames the variable to gComposeDevice. ../../main.cpp: In function ‘void ApplicationInit()’: ../../main.cpp:924:5: error: reference to ‘ComposedDevice’ is ambiguous 924 | ComposedDevice.SetReachable(true); | ^~~~~~~~~~~~~~ ../../main.cpp:174:16: note: candidates are: ‘ComposedDevice {anonymous}::ComposedDevice’ 174 | ComposedDevice ComposedDevice("Composed Device", "Bedroom"); | ^~~~~~~~~~~~~~ In file included from ../../main.cpp:46: ../../include/Device.h:158:7: note: ‘class ComposedDevice’ 158 | class ComposedDevice : public Device | ^~~~~~~~~~~~~~ ../../main.cpp:954:24: error: reference to ‘ComposedDevice’ is ambiguous 954 | AddDeviceEndpoint(&ComposedDevice, &bridgedComposedDeviceEndpoint, Span(gBridgedComposedDeviceTypes), | ^~~~~~~~~~~~~~ ../../main.cpp:174:16: note: candidates are: ‘ComposedDevice {anonymous}::ComposedDevice’ 174 | ComposedDevice ComposedDevice("Composed Device", "Bedroom"); | ^~~~~~~~~~~~~~ In file included from ../../main.cpp:46: ../../include/Device.h:158:7: note: ‘class ComposedDevice’ 158 | class ComposedDevice : public Device | ^~~~~~~~~~~~~~ ../../main.cpp:958:76: error: reference to ‘ComposedDevice’ is ambiguous 958 | Span(gComposedTempSensor1DataVersions), ComposedDevice.GetEndpointId()); | ^~~~~~~~~~~~~~ ../../main.cpp:174:16: note: candidates are: ‘ComposedDevice {anonymous}::ComposedDevice’ 174 | ComposedDevice ComposedDevice("Composed Device", "Bedroom"); | ^~~~~~~~~~~~~~ In file included from ../../main.cpp:46: ../../include/Device.h:158:7: note: ‘class ComposedDevice’ 158 | class ComposedDevice : public Device | ^~~~~~~~~~~~~~ ../../main.cpp:961:76: error: reference to ‘ComposedDevice’ is ambiguous 961 | Span(gComposedTempSensor2DataVersions), ComposedDevice.GetEndpointId()); | ^~~~~~~~~~~~~~ ../../main.cpp:174:16: note: candidates are: ‘ComposedDevice {anonymous}::ComposedDevice’ 174 | ComposedDevice ComposedDevice("Composed Device", "Bedroom"); | ^~~~~~~~~~~~~~ In file included from ../../main.cpp:46: ../../include/Device.h:158:7: note: ‘class ComposedDevice’ 158 | class ComposedDevice : public Device | ^~~~~~~~~~~~~~ ../../main.cpp:977:28: error: reference to ‘ComposedDevice’ is ambiguous 977 | endpointList.push_back(ComposedDevice.GetEndpointId()); | ^~~~~~~~~~~~~~ ../../main.cpp:174:16: note: candidates are: ‘ComposedDevice {anonymous}::ComposedDevice’ 174 | ComposedDevice ComposedDevice("Composed Device", "Bedroom"); | ^~~~~~~~~~~~~~ In file included from ../../main.cpp:46: ../../include/Device.h:158:7: note: ‘class ComposedDevice’ 158 | class ComposedDevice : public Device | ^~~~~~~~~~~~~~ ../../main.cpp:981:39: error: reference to ‘ComposedDevice’ is ambiguous 981 | ComposedPowerSource.SetEndpointId(ComposedDevice.GetEndpointId()); | ^~~~~~~~~~~~~~ ../../main.cpp:174:16: note: candidates are: ‘ComposedDevice {anonymous}::ComposedDevice’ 174 | ComposedDevice ComposedDevice("Composed Device", "Bedroom"); | ^~~~~~~~~~~~~~ In file included from ../../main.cpp:46: ../../include/Device.h:158:7: note: ‘class ComposedDevice’ 158 | class ComposedDevice : public Device | ^~~~~~~~~~~~~~ At global scope: cc1plus: error: unrecognized command line option ‘-Wno-unknown-warning-option’ [-Werror] cc1plus: all warnings being treated as errors ninja: build stopped: subcommand failed. Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com> --- examples/bridge-app/linux/main.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/bridge-app/linux/main.cpp b/examples/bridge-app/linux/main.cpp index 39ece257c3ecf2..c7e1dfb5a9c50b 100644 --- a/examples/bridge-app/linux/main.cpp +++ b/examples/bridge-app/linux/main.cpp @@ -171,7 +171,7 @@ DeviceOnOff ActionLight3("Action Light 3", "Room 2"); DeviceOnOff ActionLight4("Action Light 4", "Room 2"); // Setup composed device with two temperature sensors and a power source -ComposedDevice ComposedDevice("Composed Device", "Bedroom"); +ComposedDevice gComposedDevice("Composed Device", "Bedroom"); DeviceTempSensor ComposedTempSensor1("Composed TempSensor 1", "Bedroom", minMeasuredValue, maxMeasuredValue, initialMeasuredValue); DeviceTempSensor ComposedTempSensor2("Composed TempSensor 2", "Bedroom", minMeasuredValue, maxMeasuredValue, initialMeasuredValue); DevicePowerSource ComposedPowerSource("Composed Power Source", "Bedroom", PowerSource::Feature::kBattery); @@ -921,7 +921,7 @@ void ApplicationInit() ActionLight3.SetChangeCallback(&HandleDeviceOnOffStatusChanged); ActionLight4.SetChangeCallback(&HandleDeviceOnOffStatusChanged); - ComposedDevice.SetReachable(true); + gComposedDevice.SetReachable(true); ComposedTempSensor1.SetReachable(true); ComposedTempSensor2.SetReachable(true); ComposedPowerSource.SetReachable(true); @@ -951,14 +951,14 @@ void ApplicationInit() Span(gTempSensor2DataVersions), 1); // Add composed Device with two temperature sensors and a power source - AddDeviceEndpoint(&ComposedDevice, &bridgedComposedDeviceEndpoint, Span(gBridgedComposedDeviceTypes), + AddDeviceEndpoint(&gComposedDevice, &bridgedComposedDeviceEndpoint, Span(gBridgedComposedDeviceTypes), Span(gComposedDeviceDataVersions), 1); AddDeviceEndpoint(&ComposedTempSensor1, &bridgedTempSensorEndpoint, Span(gComposedTempSensorDeviceTypes), - Span(gComposedTempSensor1DataVersions), ComposedDevice.GetEndpointId()); + Span(gComposedTempSensor1DataVersions), gComposedDevice.GetEndpointId()); AddDeviceEndpoint(&ComposedTempSensor2, &bridgedTempSensorEndpoint, Span(gComposedTempSensorDeviceTypes), - Span(gComposedTempSensor2DataVersions), ComposedDevice.GetEndpointId()); + Span(gComposedTempSensor2DataVersions), gComposedDevice.GetEndpointId()); // Add 4 lights for the Action Clusters tests AddDeviceEndpoint(&ActionLight1, &bridgedLightEndpoint, Span(gBridgedOnOffDeviceTypes), @@ -974,11 +974,11 @@ void ApplicationInit() gDevices[CHIP_DEVICE_CONFIG_DYNAMIC_ENDPOINT_COUNT] = &ComposedPowerSource; // This provides power for the composed endpoint std::vector endpointList; - endpointList.push_back(ComposedDevice.GetEndpointId()); + endpointList.push_back(gComposedDevice.GetEndpointId()); endpointList.push_back(ComposedTempSensor1.GetEndpointId()); endpointList.push_back(ComposedTempSensor2.GetEndpointId()); ComposedPowerSource.SetEndpointList(endpointList); - ComposedPowerSource.SetEndpointId(ComposedDevice.GetEndpointId()); + ComposedPowerSource.SetEndpointId(gComposedDevice.GetEndpointId()); gRooms.push_back(&room1); gRooms.push_back(&room2);