Quick Links: Gideros Home | Download Gideros | Developer Guide
What QT version are builders using?
  • This info isn't in the build instructions, so just to eliminate any potential cause of problems, what is the Qt version to use?
  • hgy29hgy29 +1 -1
    Maintainer
    I use the latest, 5.9.1 so far
  • Thanks, I'm 90% there now, only another 90% to go. :)

    QScintilla is built, but now I am getting an error at the final hurdle...
    Paul@N550JK MINGW32 /d/OneDrive/Dev/Gideros/gideros
    $ /c/Qt/Tools/mingw530_32/bin/mingw32-make -f scripts/Makefile.gid qtapp. install
    mingw32-make: *** No rule to make target 'qtapp.'. Stop.


    Is this a common problem - what's the solution?
  • hgy29hgy29 +1 -1
    Maintainer
    Remove the space between qtapp. and install, the target really is 'qtapp.install'
  • Okay thanks for sticking with me here, with the correct path I was getting errors because the necessary mingw env variables weren't set. So...

    export PATH=${PATH}:/c/Qt/5.9.1/mingw53_32/bin
    export PATH=${PATH}:/c/Qt/Tools/mingw530_32/bin

    ... was required. Now that they are set I am very nearly compiling with...

    /c/Qt/Tools/mingw530_32/bin/mingw32-make -f scripts/Makefile.gid qtapp.install

    ... but the compilation fails here, after it compiles libgideros...

    cp libgid/external/openal-soft-1.13/include/AL/al.h ./Sdk/include/AL
    cp libgid/external/openal-soft-1.13/include/AL/alc.h ./Sdk/include/AL
    cp libgid/external/openal-soft-1.13/include/AL/alext.h ./Sdk/include/AL
    cp libgid/external/openal-soft-1.13/include/AL/efx.h ./Sdk/include/AL
    cp libgid/external/openal-soft-1.13/include/AL/efx-creative.h ./Sdk/include/AL
    mkdir -p ./Sdk/include/gideros
    cp 2dsg/*.h luabinding/*.h libgid/include/*.h ./Sdk/include/gideros
    mkdir -p ./Sdk/lib/desktop
    mingw32-make: *** No rule to make target 'Sdk/lib/desktop/libgideros.a', needed by 'sdk.qtlibs'. Stop.


    Any ideas?



  • hgy29hgy29 +1 -1
    Maintainer
    First I am suprised that you needed to export PATH to QT, since scripts/Makefile.def does this automatically, provided path are set correctly.
    Can you check the content of your Makefile.def, eventually posting it here so that I could compare with mine ?
  • Just to be 100% clear, I'm using msys2 as per these instructions...

    http://giderosmobile.com/forum/uploads/FileUpload/9e/b8416b7ab78e91fd427b6acd9be431.pdf

    Trying to build with the QT cmd window results in 'grep' not being found, so I assume this is the correct way to do it. I also had MinGW installed, but I can only assume that running make in msys2 was using the 64 bit compiler, because I got unrecognized objects errors, so I removed it from PATH and pointed at the one that came with the QT install.

    Here's the content of my Makefile.def...

    QTBASEDIR=/c/Qt5.9.1
    NDKBUILD=cmd /c C:\\android-ndk\\ndk-build.cmd
    JAVA_HOME=C:/Program\ Files\ (x86)/Java/jdk1.7.0_55
    ANT_HOME="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Apps\apache-ant-1.9.3"
    ANDROID_HOME=C:/Program\ Files\ (x86)/Android/android-sdk
    FXC="/c/Program Files (x86)/Windows Kits/8.1/bin/x86/fxc.exe"
    MSBUILD="/c/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe"
    EMSDK_PREFIX=cmd //c
    CRUNCHME="/c/Portable\ Apps/crunchme-0.4/bin/crunchme-win32.exe

    MAC_HOST=user@host
    MAC_PATH=gideros/gideros
    OSX_SIGNING_IDENTITY="ID"
    OSX_SIGNING_PASSWORD="keychain password"

    QT_ARCH=mingw53_32
    QT_TOOLSARCH=mingw53_32
    QTVER=5.9.1
    QT5ICUVER=53
  • Oh crap, you're right. The QTBASEDIR should just be /c/Qt. Going to try again....

    edit: still need to set environment variable for the minGW directory...

    export PATH=${PATH}:/c/Qt/Tools/mingw530_32/bin

    edit2: which is because minGW5.3 isn't...

    QT_ARCH=mingw53_32
    QT_TOOLSARCH=mingw53_32

    ... but should be ...

    QT_ARCH=mingw530_32
    QT_TOOLSARCH=mingw530_32

    .., like the directory name.
  • hgy29hgy29 +1 -1
    Maintainer
    QT_TOOLSARCH should be mingw530_32
  • Yes, that was it... QT_ARCH is mingw53_32 and QT_TOOLSARCH is mingw530_32.

    So all problems were caused by me deviating from the instructions. Hopefully I'll be able to put the finishing touches on my time machine tonight so nobody will ever have read this! :)

    Thanks again!
  • hgy29hgy29 +1 -1
    Maintainer
    Let us know how you get on doing this, it will be interesting for others too
  • If you don't mind, I could put a markdowned copy of the pdf, annotated with a couple of lessons learned, onto the Guthub wiki. I see that the wiki has placeholders for stuff that is on the main site, so editing that to link to the actual docs and adding in a build section seems sensible.
  • snooks +1 -1 (+1 / -0 )
    Member
    Also, I edited the stackoverflow tag because the old one was a bit out of date and devoid of details...

    https://stackoverflow.com/tags/gideros/info

    ... I definitely think this project deserves more exposure.

    Likes: pie

  • Can I just ask whether you are building Android from mysys or Windows and if I could have a peek at your Makefile.def? I have qtapp and win32 building, but have a problem with Android. HTML5 too, with HTML5, building halts on stopwatch.cpp when building both emscripten and the makefile from Windows or mysys for some reason. winRT is mostly fine, apart from not being able to find the advertising SDK when I have Windows 8.1 and 10 SDKs...

    Could not find SDK "Microsoft.AdMediatorWindows81, Version=1.0

    This is with VS2015 and 2017 CE. Advertising SDKs for 8.1/8.1 Phone and 10 SDKs installed too. What versions of what tools are you guys using?
  • Nearly there with Android. I am stuck with compilation errors for openal-soft-1.17.2 regarding atomic.h, like this...

    request for member '__val' in something not a structure or union
    #define atomic_init(obj, value) ((void)((obj)->__val = (value)))

    That's both when using their atomic.h or the one from the NDK. Is anyone building this successfully on Windows?
  • hgy29hgy29 +1 -1
    Maintainer
    What version of NDK are you using ? I am using 14b and building from MSys shell with command:

    make -f scripts/Makefile.gid android.install


    For HTML5, I do almost the same:

    make -f scripts/Makefile.gid html5.install

    But I remember I had trouble setting up emscripten (1.35.0) config file correctly.
  • Cool, yes that's the same as I am doing.

    This is with NDK r15c and r10e, I rolled back because r15c was unable to target the android version defined for the player. Also it was defaulting to clang, so I needed to specify gcc in the Application.mk (or the other one) so it obviously wasn't the same version you guys were using.

    What version of edit: mingw are you using, I've been using 5.3 but am going to try 4.9?
  • hgy29hgy29 +1 -1
    Maintainer
    I Use Msys only as a shell, I don't use the gcc from msys, so the mingw version used to build gideros is the one provided by QT. I am using QT 5.9 / MinGW 5.3
  • Woot, that's it building with 14b! I'll update the GitHub wiki with the details and try emscripten again.
  • So emscripten needs Spidermonkey, Node and V8 (and Clang by the looks of the output of Gideros's makefile)?

    SPIDERMONKEY_ENGINE = ''
    NODE_JS = 'node'
    V8_ENGINE = ''
    TEMP_DIR = 'C:/Users/Paul/AppData/Local/Temp'
    COMPILER_ENGINE = NODE_JS
    JS_ENGINES = [NODE_JS]

    The necessary V8 binaries aren't kicking around anywhere are they?
  • hgy29hgy29 +1 -1
    Maintainer
    No, you don't need them, everything is included in emscripten download for windows, but it looks like they are deprecated though: https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.35.0-full-64bit.exe
  • hgy29hgy29 +1 -1
    Maintainer
    My Makefile.def is a bit more complex for emscripten than the supplied example. I have this in mine:
    EMSDK=/c/Program\ Files/Emscripten
    EMSDKPATH=$(EMSDK):$(EMSDK)/clang/e1.35.0_64bit:$(EMSDK)/node/4.1.1_64bit/bin:$(EMSDK)/python/2.7.5.3_64bit:$(EMSDK)/emscripten/1.35.0
    EMSDK_PREFIX=PATH=$(EMSDKPATH):$$$$PATH cmd //c
  • Woot! Thanks for that, it solves the problem I was having of msys insisting on using its own default version of Python, which is Python 3, which as we all know is only 0.4% compatible with Python 2, making emcc fail. The only other thing was manually setting the environment variable EM_CONFIG because emsdk_env wasn't doing it (with --global switch too).

    EDIT: it seems as though as long as EM_CONFIG is set to allow emscripten to find its tools via .emscripten config file that the simpler:

    EMSDK_PREFIX=cmd c// /c/emsdkwin/emscripten/emcc
    CRUNCHME=/c/Portable\ Apps/crunchme-0.4/bin/crunchme-win32.exe

    ... works fine.


    Now it's just WinRT:
    C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1728,5): error MSB3774: Could not find SDK "Microsoft.AdMediator81, Version=1.0". [D:\OneDrive\Dev\Gideros\gideros\winrt_xaml\giderosgame\giderosgame.WindowsPhone\giderosgame.WindowsPhone.vcxproj]


    As I said before I have all three advertising SDKs (8.1, 8.1 Phone and 10) installed, but this error persists.
  • So is it using the Ad Meditator plugin for VS2013?


  • hgy29hgy29 +1 -1
    Maintainer
    it is used, but only for ads plugin. I am surprised that it is needed to build standard template. How do you build ? make -f scripts/Makefile.gid winrt.install ?
  • This is building with the Makefile.gid script or directly in the VS solution. It wouldn't be a big deal if I could find it anywhere, but it doesn't look like MS have it on their site anymore.
  • hgy29hgy29 +1 -1
    Maintainer
    Yes, in fact gideros doesn't use adMediatorControl, but uses the AdControl provided by admediator package. And yes, I have it installed in VS installation, so that must be what you are missing. In extension and updates: 'Ad Mediator for Windows [Phone] 8.1'
  • It turns out that it must be in the Advertising SDK 8.1. I reinstalled it and upgraded VS2017 and it was there when it wasn't before.

    But no "woot" yet, it's failing with the build script winrt.player: winrt.template section when building ARM (with the Publish flag).

    C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3773,5): error MSB3030: Could not copy the file "ARM\Release\giderosgame.WindowsPhone.exe.manifest" because it was not found. [D:\OneDrive\Dev\Gideros\gideros\winrt_xaml\giderosgame\giderosgame.WindowsPhone\giderosgame.WindowsPhone.vcxproj]


    Just in case this rings a bell.
  • hgy29hgy29 +1 -1
    Maintainer
    I have never been able to build gideros with VS2017, it seems that MS deprecated Windows Phone 8.1 target and is focusing exclusively on UWP/Win10
  • snooks +1 -1 (+2 / -0 )
    Member
    Good hint! I had found the path to MSBuild from "where msbuild" in the VS2017 Dev Cmd Prompt. Building was successful using this in VS2017 and the makefile, but deploying wasn't. Changing to version 14 of MSBuild that is - embarrassingly - in the same location as the Makefile.def.example file works.

    So that's a woot! Everything is building successfully now. Will update GitHub Wiki!

    Likes: hgy29, antix

  • hgy29hgy29 +1 -1
    Maintainer
    Good job! You'll be able to tinker with gideros code and help us fix code.
  • Of course, give me one or two Moore's epochs to grok the codebase and I'm all over it! Hopefully an iOS plugin dev can fill in the blanks with the build instructions on the wiki too.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook Sign In with OpenID

In this Discussion

Top Posters