Skip to content

Unable to build maesdk for Android #1373

@abhiarora4

Description

@abhiarora4

I am trying to compile Maesdk for Android. We have cloned this repo and then updated git submodules.
Here are my system details:
OS: Mac
NDK: 27.x
CMake: 3.10.2 and 3.27.6

I am hitting several compilation issues with SANITIZER Module.
First we were getting header not found which we fixed by adding path to target_include_directories.

cpp_client_telemetry/lib/modules/sanitizer/detectors/EmailAddressDetector.hpp:5:10: fatal error: 'SanitizerCommon.hpp' file not found
      5 | #include "SanitizerCommon.hpp"
        |          ^~~~~~~~~~~~~~~~~~~~~

After that, we hit new issues.

  In file included from cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:9:
  cpp_client_telemetry/lib/jni/SanitizerHelper.hpp:11:12: error: redefinition of 'Sanitizer'
     11 |     struct Sanitizer {
        |            ^
  cpp_client_telemetry/lib/modules/sanitizer/Sanitizer.hpp:30:11: note: previous definition is here
     30 |     class Sanitizer : public IDataInspector
        |           ^
  cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:15:28: error: use of undeclared identifier 'SanitizerHelper'; did you mean 'SanitizerResult'?
     15 | std::shared_ptr<Sanitizer> SanitizerHelper::GetSanitizerPtr() noexcept
        |                            ^~~~~~~~~~~~~~~
        |                            SanitizerResult
  cpp_client_telemetry/lib/modules/sanitizer/SanitizerCommon.hpp:36:12: note: 'SanitizerResult' declared here
     36 |     struct SanitizerResult final
        |            ^
  cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:15:45: error: out-of-line definition of 'GetSanitizerPtr' does not match any declaration in 'Microsoft::Applications::Events::SanitizerResult'
     15 | std::shared_ptr<Sanitizer> SanitizerHelper::GetSanitizerPtr() noexcept
        |                                             ^~~~~~~~~~~~~~~
  cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:41:9: error: use of undeclared identifier 'config'
     41 |         config.NotificationEventName = JStringToStdString(env, notificationEventName).c_str();
        |         ^
  cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:44:47: error: use of undeclared identifier 'config'
     44 |     spSanitizer = std::make_shared<Sanitizer>(config);
        |                                               ^
  cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:77:9: error: use of undeclared identifier 'spDataInspector'
     77 |     if (spDataInspector == nullptr) {
        |         ^
  cpp_client_telemetry/lib/jni/Sanitizer_jni.cpp:81:5: error: use of undeclared identifier 'spDataInspector'
     81 |     spDataInspector->SetEnabled(static_cast<bool>(enabled));
        |     ^
  7 errors generated.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions