I am trying to install the MQTT Client SL in an existing project I have been working on for years.
After adding the library to the project, and without adding any other code, upon building I get a C0180: Ambiguous namespace 'MBM' error between the memory block manager (MBM) in the NetBaseSrv dependency of the MQTT Client SL library and the memory block manager (MBM) in the CAA CanL2 dependency of the 3S CANopen stack library.
I have tried:
* setting "Only allow qualified access to all identifiers." in the properties for both the parent libraries.
* deleting the 3S CANopen stack library. Upon (re)building the error simply points to another conflicting library - there are many.
* deleting the Library Manager and rebuilding it.
* adding the memory block manager library (used in the NetBaseSrv) manually and changing its namespace to MBM3S.
None of the above allow me to access the MQTT library through its namespace (MQTT). Adding the memory block manager manually removes the C0180 error, but the MQTT library is not accessible - i.e.
mqttClient:MQTT.MQTTClient;
highlights the mqttClient as "Identifier 'MQTT.MQTTClient' not defined".
Is there anything else I can try?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've created a very basic version of this problem as a project. Please see attached. One of the libraries in conflict is different from that described above, but the problem is the same.
My development environment is 32bit v3.5.16.70 using v3.5.11.0 compiler.
I am trying to install the MQTT Client SL in an existing project I have been working on for years.
After adding the library to the project, and without adding any other code, upon building I get a C0180: Ambiguous namespace 'MBM' error between the memory block manager (MBM) in the NetBaseSrv dependency of the MQTT Client SL library and the memory block manager (MBM) in the CAA CanL2 dependency of the 3S CANopen stack library.
I have tried:
* setting "Only allow qualified access to all identifiers." in the properties for both the parent libraries.
* deleting the 3S CANopen stack library. Upon (re)building the error simply points to another conflicting library - there are many.
* deleting the Library Manager and rebuilding it.
* adding the memory block manager library (used in the NetBaseSrv) manually and changing its namespace to MBM3S.
None of the above allow me to access the MQTT library through its namespace (MQTT). Adding the memory block manager manually removes the C0180 error, but the MQTT library is not accessible - i.e.
highlights the mqttClient as "Identifier 'MQTT.MQTTClient' not defined".
Is there anything else I can try?
I've created a very basic version of this problem as a project. Please see attached. One of the libraries in conflict is different from that described above, but the problem is the same.
My development environment is 32bit v3.5.16.70 using v3.5.11.0 compiler.