Skip to content

Unable to build maesdk for Android #1373

Description

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

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