QMake linux Makefile-t készít Windowson



  • Sziasztok!

    Ma elindítottam a Qt Creatort, mert eddig VS 2015-öt használtam Qt-s applikációk készítésére, ma azonban ki akartam próbálni az Android portot.
    Lévén mint android fejlesztő, hagytam a mindig naprakész SDK-m és NDK-m a meglévő mappákban. (Ehhez persze a Java JDK-is szükséges, ezért a 1.8.0_65 telepítve is volt.)
    A Qt-t már teljesen letöröltem 2x és újrainstalláltam az alap komponensekkel amiket kiválaszt. (+Az Android armeabi-v7a-t felraktam pluszba)
    Elindítom a Qt Creatort, csinálok egy új projektet (Próbáltam a Példák közötti számológépet is, ugyan az a kimenetel), Windowson futtatom megy.
    Android beállításokat toolsban megcsináltam, szedtem le mellé Ant-ot is.
    Elindul a build, létrehozza az android-build mappát (ha volt akkor törli),
    Elindítja a Makefile install részlegét amit egyből a install_target-re irányítja, ellenörzi, hogy van-e /libs/armeabi-v7a/ -mappa az előbb létrehozott mappában, ha nincs létrehozza és átmásolja a libcalqlatr.so fájlt oda az android-build mappa mellől.
    Na most ez volt az elmélet része, ami szépen és jól működne, HA a qmake nem cseszné el. A fájl amit másolni akar létezik, a mappa létrejön, tehát minden adott a másolásra, kivéve a Makefile. Mert az azthiszi Linuxon futtatom, nem pedig Windows 10-en, ami pedig igenis egy 64-bites változat. A -eket /-nek írja (kivétel az újsor jelzést ugye, a parancsok Linux parancsok tehát nem copy hanem cp és a társai. Most hogy elhasalt a parancs, mivel a cp nem létező parancs WIndowson: recipe for target 'install_target' failed.
    Ignorálja a hibát megy tovább nekiállna lefordítani a drága projektet, de az ant, és a gradle is elcsúszik, mert nincs meg az a keresett .so fájl. (Nem hibáztatom őket)

    Feltettem már mellé az MSYS-t mert angol fórumokon aztmondták megoldotta a gondot. Újratelepítettem a Qt-t.
    Ismerősnél feltelepítettük ugyan úgy, ugyan azokat. Neki MEGY. Csak Windows 7 64-bites operációs rendszere van, ami eltérést mi észrevettünk. (Továbbá fentvan neki a CMake, amit én is feltettem hátha, de meglepetés: NEM jó.)
    A Makefile nála JÓ. Windows parancsokat használ, a /-ek is -ek.

    Megpróbáltam módosítani a parancsokat a Windows-hoz megfelelőre, odaadta az ő Makefile-ját módosítottam a megfelelőek szerint, de ezután se akart megjavulni. Reggel óta ezzel szívok. (Azért is írok kisregényt mert már nagyon felidegesített)

    Nem tudom miért utál engem a Qt Creator, de meg szeretném oldani.
    Mellékelem az Android beállításait a Creatornak, a Compile füleket, logokat, mindent amit fontosnak találok, de ha bármit kihagynék, és kell, szívesen válaszolok. Az eszközök, projekt, mappák sehol nem tartalmaznak szóközt, vagy speciális karaktereket.

    Generált makefile: http://pastebin.com/n9m12WCD
    Beállítások: https://s32.postimg.org/bdzng0l51/N_vtelen.png
    Build output:

    16:57:21: Running steps for project calqlatr...
    16:57:21: Configuration unchanged, skipping qmake step.
    16:57:21: Starting: "D:\SDKs\Qt\Tools\mingw530_32\bin\mingw32-make.exe" 
    mingw32-make: Nothing to be done for 'first'.
    16:57:22: The process "D:\SDKs\Qt\Tools\mingw530_32\bin\mingw32-make.exe" exited normally.
    16:57:22: Removing directory D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build
    16:57:22: Starting: "D:\SDKs\Qt\Tools\mingw530_32\bin\mingw32-make.exe" "INSTALL_ROOT=D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build" install
    cp -f libcalqlatr.so D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build/libs/armeabi-v7a/libcalqlatr.so
    Makefile:558: recipe for target 'install_target' failed
    process_begin: CreateProcess(NULL, cp -f libcalqlatr.so D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build/libs/armeabi-v7a/libcalqlatr.so, ...) failed.
    make (e=2): A rendszer nem találja a megadott fájlt.
    
    mingw32-make: [install_target] Error 2 (ignored)
    16:57:23: The process "D:\SDKs\Qt\Tools\mingw530_32\bin\mingw32-make.exe" exited normally.
    16:57:23: Starting: "D:\SDKs\Qt\5.7\android_armv7\bin\androiddeployqt.exe" --input D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-libcalqlatr.so-deployment-settings.json --output D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build --deployment bundled --android-platform android-24 --jdk "C:/Program Files/Java/jdk1.8.0_65" --ant D:/SDKs/ApacheAnt-1.9.7/bin/ant.bat
    Generating Android Package
      Input file: D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-libcalqlatr.so-deployment-settings.json
      Output directory: D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build/
      Application binary: D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/libcalqlatr.so
      Android build platform: android-24
      Install to device: No
    Application binary is not in output directory: D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build//libs/armeabi-v7a/libcalqlatr.so. Please run 'mingw32-make install INSTALL_ROOT=D:/SDKs/Qt/Examples/Qt-5.7/quick/demos/build-calqlatr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_0-Debug/android-build/' first.
    16:57:26: The process "D:\SDKs\Qt\5.7\android_armv7\bin\androiddeployqt.exe" exited with code 7.
    Error while building/deploying project calqlatr (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.7.0))
    When executing step "Build Android APK"
    16:57:26: Elapsed time: 00:05.
    

    Remélem tud valaki segíteni, mit rontottam el, vagy hogy javítsam meg.
    Köszönettel,
    T-bond


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.