Issue with using c++ library in mbed lpc1786 board

Question/Issue:
I want to use mbed lpc1786 board to run the project in which it will classify sine and square wave using static buffer by taking signal from analog pin “p15”. But when i try to build the program using C++ library I get the following error these are the few errors from many errors"Error: L6218E: Undefined symbol armBitRevIndexTable1024 (referred from …/…/build/three-waveform-detector-variable-freq-amp-v2-v14/edge-impulse-sdk/CMSIS/DSP/Source/CommonTables/arm_const_structs.LPC1768.o).
Error: L6218E: Undefined symbol armBitRevIndexTable128 (referred from …/…/build/three-waveform-detector-variable-freq-amp-v2-v14/edge-impulse-sdk/CMSIS/DSP/Source/CommonTables/arm_const_structs.LPC1768.o).
Error: L6218E: Undefined symbol armBitRevIndexTable16 (referred from …/…/build/three-waveform-detector-variable-freq-amp-v2-v14/edge-impulse-sdk/CMSIS/DSP/Source/CommonTables/arm_const_structs.LPC1768.o)."
And I am using Arm Keil cloud for compilation and building.

code

#include <stdio.h>

#include “edge-impulse-sdk/classifier/ei_run_classifier.h”

// Callback function declaration
static int get_signal_data(size_t offset, size_t length, float *out_ptr);

// Raw features copied from test sample (Edge Impulse > Model testing)
static float input_buf[] = {
/* Paste your raw features here! */
};

int main(int argc, char **argv) {

signal_t signal;            // Wrapper for raw input buffer
ei_impulse_result_t result; // Used to store inference output
EI_IMPULSE_ERROR res;       // Return code from inference

// Calculate the length of the buffer
size_t buf_len = sizeof(input_buf) / sizeof(input_buf[0]);

// Make sure that the length of the buffer matches expected input length
if (buf_len != EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE) {
    printf("ERROR: The size of the input buffer is not correct.\r\n");
    printf("Expected %d items, but got %d\r\n", 
            EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE, 
            (int)buf_len);
    return 1;
}

// Assign callback function to fill buffer used for preprocessing/inference
signal.total_length = EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE;
signal.get_data = &get_signal_data;

// Perform DSP pre-processing and inference
res = run_classifier(&signal, &result, false);

// Print return code and how long it took to perform inference
printf("run_classifier returned: %d\r\n", res);
printf("Timing: DSP %d ms, inference %d ms, anomaly %d ms\r\n", 
        result.timing.dsp, 
        result.timing.classification, 
        result.timing.anomaly);

// Print the prediction results (object detection)

#if EI_CLASSIFIER_OBJECT_DETECTION == 1
printf(“Object detection bounding boxes:\r\n”);
for (uint32_t i = 0; i < EI_CLASSIFIER_OBJECT_DETECTION_COUNT; i++) {
ei_impulse_result_bounding_box_t bb = result.bounding_boxes[i];
if (bb.value == 0) {
continue;
}
printf(" %s (%f) [ x: %u, y: %u, width: %u, height: %u ]\r\n",
bb.label,
bb.value,
bb.x,
bb.y,
bb.width,
bb.height);
}

// Print the prediction results (classification)

#else
printf(“Predictions:\r\n”);
for (uint16_t i = 0; i < EI_CLASSIFIER_LABEL_COUNT; i++) {
printf(" %s: “, ei_classifier_inferencing_categories[i]);
printf(”%.5f\r\n", result.classification[i].value);
}
#endif

// Print anomaly result (if it exists)

#if EI_CLASSIFIER_HAS_ANOMALY == 1
printf(“Anomaly prediction: %.3f\r\n”, result.anomaly);
#endif

return 0;

}

// Callback: fill a section of the out_ptr buffer when requested
static int get_signal_data(size_t offset, size_t length, float *out_ptr) {
for (size_t i = 0; i < length; i++) {
out_ptr[i] = (input_buf + offset)[i];
}

return EIDSP_OK;

}

write now i am only using static buffer to try to compile it

Project ID:
208446
Context/Use case: