Skip to content

Support Qt/Android build and deploy #404

@kassane

Description

@kassane

I am trying to compile for android the quickapp_qt project to test, but this occurs:

**error:**C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: fatal error: -f/--auxiliary may not be used without -shared
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)


stack traceback:
[C]: in function 'error'
[C:\Program Files (x86)\xmake/core/base/os.lua:700]: in function 'raise'
[C:\Program Files (x86)\xmake\core\sandbox\modules\os.lua:306]: in function 'runv'
[C:\Program Files (x86)\xmake\modules\core\tools\gcc.lua:323]:
[C]: in function 'link'
[C:\Program Files (x86)\xmake\actions\build\kinds\binary.lua:93]: in function '_build_from_objects'
[C:\Program Files (x86)\xmake\actions\build\kinds\binary.lua:152]: in function 'build'
[C:\Program Files (x86)\xmake\actions\build\build.lua:40]: in function '_do_build_target'
[C:\Program Files (x86)\xmake\actions\build\build.lua:64]: in function 'script'
[C:\Program Files (x86)\xmake\actions\build\build.lua:140]: in function '_build_target'
[C:\Program Files (x86)\xmake\actions\build\build.lua:167]: in function '_build_target_and_deps'
[C:\Program Files (x86)\xmake\actions\build\build.lua:239]: in function 'build'
[C:\Program Files (x86)\xmake\actions\build\main.lua:59]:
[C]: in function 'xpcall'
[C:\Program Files (x86)\xmake\core\sandbox\modules\try.lua:100]: in function 'try'
[C:\Program Files (x86)\xmake\actions\build\main.lua:57]:
[C]: in function 'load'
[C:\Program Files (x86)\xmake/core/base/task.lua:503]: in function 'run'
[C:\Program Files (x86)\xmake/core/main.lua:242]:


Commands:

set QT_SHARED=C:\Qt\Qt5.12.2\5.12.2
set NDK_ROOT_PATH=%USERPROFILE%\AppData\Local\Android\Sdk\ndk-bundle
echo Configuring build...
xmake f -p android  --qt=%QT_SHARED% --qt_sdkver=5 --ndk=%NDK_ROOT_PATH% --ndk_sdkver=24 -k shared -c
-- add modes: debug and release 
add_rules("mode.debug", "mode.release")

-- add target
target("qt_Android")

    -- add rules
    add_rules("qt.application")
	set_kind("shared")

    -- add headers
    add_headerfiles("src/*.h")
    add_includedirs("C:/Qt/Qt5.12.2/5.12.2/android_armv7/include") --fix error QtGui/qtguiglobal.h

    -- add files
    add_files("src/*.cpp")
    add_files("src/qml.qrc")

    -- add frameworks
    add_frameworks("QtQuick")

Output:

checking for the architecture ... armv7-a
checking for the NDK directory ... C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle
checking for the SDK version of NDK ... 24
checking for the toolchains version of NDK ... 4.9
checking for the Qt SDK directory ... C:\Qt\Qt5.12.2\5.12.2\android_armv7
checking for the Qt SDK version ... 5

preparing build:
configure
{
    ld = C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++
    ndk = C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle
    plat = android
    buildir = build
    ndk_toolchains_ver = 4.9
    ndk_sdkver = 24
    arch = armv7-a
    mode = release
    gcc_toolchain = C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64
    clean = true
    qt_sdkver = 5
    host = windows
    cross = arm-linux-androideabi-
    sh = C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++
    kind = shared
    bin = C:\Users\kassane\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin
    ccache = true
    qt = C:\Qt\Qt5.12.2\5.12.2
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions