Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Reference to "VolumeControl" is ambiguous #175

Answered by pschatzmann
AydySmith asked this question in Q&A
Discussion options

I am trying to use the ESP32-A2DP library with this library (by following the documentation here). When I try and build I get an error that says the reference to "VolumeControl is ambiguous". If I implement the Bluetooth library in its own folder I have no issues, it's only when I include it in the Audio tools project. Can anyone help, please?

In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:73:37: error: reference to 'VolumeControl' is ambiguous class DefaultVolumeControl : public VolumeControl ^ .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:96:47: error: reference to 'VolumeControl' is ambiguous class SimpleExponentialVolumeControl : public VolumeControl ^ .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:117:36: error: reference to 'VolumeControl' is ambiguous class LinearVolumeControl : public VolumeControl ^ .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, Compiling .pio\build\esp32dev\lib92c\libhelix\libhelix-aac\buffers.c.o from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:135:32: error: reference to 'VolumeControl' is ambiguous class NoVolumeControl : public VolumeControl ^ .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17:0, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:125:37: error: reference to 'VolumeControl' is ambiguous Compiling .pio\build\esp32dev\lib92c\libhelix\libhelix-aac\dct4.c.o Archiving .pio\build\esp32dev\lib72b\libWiFi.a virtual void set_volume_control(VolumeControl *ptr) ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ Compiling .pio\build\esp32dev\lib92c\libhelix\libhelix-aac\decelmnt.c.o In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, Compiling .pio\build\esp32dev\lib92c\libhelix\libhelix-aac\dequant.c.o from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, Compiling .pio\build\esp32dev\lib92c\libhelix\libhelix-aac\fft.c.o from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { Compiling .pio\build\esp32dev\lib92c\libhelix\libhelix-aac\filefmt.c.o ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17:0, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:125:37: error: 'VolumeControl' has not been declared virtual void set_volume_control(VolumeControl *ptr) ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17:0, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:172:5: error: reference to 'VolumeControl' is ambiguous VolumeControl *volume_control_ptr = nullptr; ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17:0, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:198:13: error: reference to 'VolumeControl' is ambiguous virtual VolumeControl *volume_control() ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:42:0, from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/VolumeControl.h:27:7: note: candidates are: class VolumeControl class VolumeControl ^ In file included from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioStreams.h:8:0, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools/AudioOutput.h:7, from .pio\libdeps\esp32dev\audio-tools\src/AudioFilter/Equilizer.h:3, from .pio\libdeps\esp32dev\audio-tools\src/AudioTools.h:16, from src\main.cpp:2: .pio\libdeps\esp32dev\audio-tools\src/AudioTools/VolumeControl.h:11:7: note: class audio_tools::VolumeControl class VolumeControl { ^ In file included from .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPSink.h:17:0, from src\main.cpp:7: .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h: In member function 'virtual void BluetoothA2DPCommon::set_volume_control(int*)': .pio\libdeps\esp32dev\ESP32-A2DP\src/BluetoothA2DPCommon.h:127:9: error: 'volume_control_ptr' was not declared in this scope volume_control_ptr = ptr; ^ In file included from src\main.cpp:8:0: .pio\libdeps\esp32dev\audio-tools\src/AudioLibs/AudioA2DP.h: In member function 'void audio_tools::A2DPStream::begin(audio_tools::A2DPConfig)': .pio\libdeps\esp32dev\audio-tools\src/AudioLibs/AudioA2DP.h:140:20: warning: enumeration value 'UNDEFINED_MODE' not handled in switch [-Wswitch] switch (cfg.mode){ ^ .pio\libdeps\esp32dev\audio-tools\src/AudioLibs/AudioA2DP.h:140:20: warning: enumeration value 'RXTX_MODE' not handled in switch [-Wswitch] *** [.pio\build\esp32dev\src\main.cpp.o] Error 1

You must be logged in to vote

Just install the latest version of the A2DP library and the problem should go away...

Replies: 1 comment 1 reply

Comment options

Just install the latest version of the A2DP library and the problem should go away...

You must be logged in to vote
1 reply
Comment options

That's worked, thank you!

Answer selected by pschatzmann
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /