flycast icon indicating copy to clipboard operation
flycast copied to clipboard

android studio build error

Open android-1995 opened this issue 2 years ago • 3 comments

Platform / OS / Hardware: android studio

Github hash: 52d95e537c188adc8032f9f06dd62080d77ba0ed

Description of the Issue

I downloaded the code, then opened flycast/shell/android-studio with Android studio, and the following error message appeared after compiling

[CXX1405] error when building with cmake using C:\Users\Mloong\Desktop\flycast\CMakeLists.txt: Build command failed.
Error while executing process D:\AndroidSdk\cmake\3.18.1\bin\cmake.exe with arguments {-HC:\Users\Mloong\Desktop\flycast -DCMAKE_SYSTEM_NAME=Android -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_SYSTEM_VERSION=16 -DANDROID_PLATFORM=android-16 -DANDROID_ABI=arm64-v8a -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DANDROID_NDK=D:\AndroidSdk\ndk\21.4.7075529 -DCMAKE_ANDROID_NDK=D:\AndroidSdk\ndk\21.4.7075529 -DCMAKE_TOOLCHAIN_FILE=D:\AndroidSdk\ndk\21.4.7075529\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=D:\AndroidSdk\cmake\3.18.1\bin\ninja.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\build\intermediates\cxx\RelWithDebInfo\3g2u3ni2\obj\arm64-v8a -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=C:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\build\intermediates\cxx\RelWithDebInfo\3g2u3ni2\obj\arm64-v8a -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_FIND_ROOT_PATH=C:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\.cxx\RelWithDebInfo\3g2u3ni2\prefab\arm64-v8a\prefab -BC:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\.cxx\RelWithDebInfo\3g2u3ni2\arm64-v8a -GNinja -DANDROID_ARM_MODE=arm}
-- xxHash build type: RelWithDebInfo
-- spirv-tools not linked - illegal SPIRV may be generated for HLSL
-- Could NOT find ALSA (missing: ALSA_LIBRARY ALSA_INCLUDE_DIR) 
-- Found ZLIB: D:/AndroidSdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/aarch64-linux-android/libz.a (found version "1.2.7") 
-- Could NOT find Lua (missing: LUA_LIBRARIES LUA_INCLUDE_DIR) 
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Could NOT find oboe (missing: oboe_DIR)
-- Configuring incomplete, errors occurred!
See also "C:/Users/Mloong/Desktop/flycast/shell/android-studio/flycast/.cxx/RelWithDebInfo/3g2u3ni2/arm64-v8a/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Mloong/Desktop/flycast/shell/android-studio/flycast/.cxx/RelWithDebInfo/3g2u3ni2/arm64-v8a/CMakeFiles/CMakeError.log".

CMake Deprecation Warning at CMakeLists.txt:301 (cmake_policy):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


CMake Error at core/deps/oboe/gamesdk.cmake:117 (message):
  Can't find any library in
  "core/deps/oboe/libs/arm64-v8a_API28_NDK21_cpp_static_RelWithDebInfo".  Are
  you sure you are using a supported Android SDK/NDK and STL variant?
Call Stack (most recent call first):
  CMakeLists.txt:418 (add_gamesdk_target)

android-1995 avatar Apr 12 '22 05:04 android-1995

I tried to specify DCMAKE_BUILD_TYPE=Release in build.gradle, another error message appeared

plugins {
    id 'com.android.application'
}

def getVersionName = { ->
    def stdout = new ByteArrayOutputStream()
    exec {
        commandLine 'git', 'describe', '--tags', '--always'
        standardOutput = stdout
    }
    return stdout.toString().trim()
}

android {
    compileSdkVersion 29

    defaultConfig {
        applicationId "com.flycast.emulator"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 8
        versionName getVersionName()
        vectorDrawables.useSupportLibrary = true

        externalNativeBuild {
            cmake {
                //Changed the code here
                arguments "-DANDROID_ARM_MODE=arm",
                        "-DCMAKE_BUILD_TYPE=Release"
            }
        }

        ndk {
            moduleName 'flycast'
        }
    }

    signingConfigs {
        debug {
            storeFile file("../debug.keystore")
        }
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    externalNativeBuild {
        cmake {
            path file('../../../CMakeLists.txt')
            version '3.18.1'
        }
    }

    buildFeatures {
        prefab true
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.oboe:oboe:1.6.1'
    implementation 'org.apache.commons:commons-lang3:3.12.0'
    implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
}

Build command failed.
Error while executing process D:\AndroidSdk\cmake\3.18.1\bin\ninja.exe with arguments {-C C:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\.cxx\Release\2b2g2x68\arm64-v8a chdr-benchmark flycast glslangValidator spirv-remap}
ninja: Entering directory `C:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\.cxx\Release\2b2g2x68\arm64-v8a'
[1/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/InfoSink.cpp.o
[2/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/PoolAlloc.cpp.o
[3/503] Building C object core/deps/xxHash/cmake_unofficial/CMakeFiles/xxhash.dir/__/xxhash.c.o
[4/503] Creating directories for 'breakpad'
[5/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/IntermTraverse.cpp.o
[6/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/attribute.cpp.o
[7/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/RemoveTree.cpp.o
[8/503] No download step for 'breakpad'
[9/503] Linking C static library core\deps\xxHash\cmake_unofficial\libxxhash.a
[10/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Constant.cpp.o
[11/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Scan.cpp.o
[12/503] No update step for 'breakpad'
[13/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseContextBase.cpp.o
[14/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/limits.cpp.o
[15/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Intermediate.cpp.o
[16/503] No patch step for 'breakpad'
[17/503] Performing configure step for 'breakpad'
FAILED: core/deps/breakpad/src/breakpad-stamp/breakpad-configure 
cmd.exe /C "cd /D C:\Users\Mloong\Desktop\flycast\shell\android-studio\flycast\.cxx\Release\2b2g2x68\arm64-v8a\core\deps\breakpad\src\breakpad-build && C:\Users\Mloong\Desktop\flycast\core\deps\breakpad\configure --host=aarch64-linux-android CC=D:/AndroidSdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe "CFLAGS=-g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security  --target=aarch64-none-linux-android21" CXX=D:/AndroidSdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe "CXXFLAGS=-g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   --target=aarch64-none-linux-android21" AR=D:/AndroidSdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android-ar.exe --prefix=C:/Users/Mloong/Desktop/flycast/shell/android-studio/flycast/.cxx/Release/2b2g2x68/arm64-v8a/core/deps/breakpad --disable-processor --disable-tools && D:\AndroidSdk\cmake\3.18.1\bin\cmake.exe -E touch C:/Users/Mloong/Desktop/flycast/shell/android-studio/flycast/.cxx/Release/2b2g2x68/arm64-v8a/core/deps/breakpad/src/breakpad-stamp/breakpad-configure"
'C:\Users\Mloong\Desktop\flycast\core\deps\breakpad\configure' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���
[18/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/iomapper.cpp.o
[19/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Versions.cpp.o
[20/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/parseConst.cpp.o
[21/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/intermOut.cpp.o
[22/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ShaderLang.cpp.o
[23/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpTokens.cpp.o
[24/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/SymbolTable.cpp.o
[25/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpScanner.cpp.o
[26/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/linkValidate.cpp.o
[27/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/reflection.cpp.o
[28/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseHelper.cpp.o
[29/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Initialize.cpp.o
../../../../../../../core/deps/glslang/glslang/MachineIndependent/Initialize.cpp:164:23: warning: unused variable 'Es310Desktop430' [-Wunused-variable]
    const Versioning* Es310Desktop430 = &Es310Desktop430Version[0];
                      ^
1 warning generated.
[30/503] Building CXX object core/deps/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/glslang_tab.cpp.o
ninja: build stopped: subcommand failed.

can you help me?🙁

android-1995 avatar Apr 12 '22 06:04 android-1995

Building on Windows isn’t currently supported. You’ll have to build on Linux or some changes are required (resolve symbolic links, exclude breakpad, etc)

flyinghead avatar Apr 12 '22 07:04 flyinghead

Building on Windows isn’t currently supported. You’ll have to build on Linux or some changes are required (resolve symbolic links, exclude breakpad, etc)

Thanks Reply. Will you support building on windows in the future? I'm a junior engineer and can't fix it

android-1995 avatar Apr 12 '22 07:04 android-1995