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 ?
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.
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!
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.
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?
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?
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
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:
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.
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.
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]
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!
Comments
QScintilla is built, but now I am getting an error at the final hurdle... Is this a common problem - what's the solution?
/c/Qt/Tools/mingw530_32/bin/mingw32-make -f scripts/Makefile.gid qtapp.install
... but the compilation fails here, after it compiles libgideros... Any ideas?
Can you check the content of your Makefile.def, eventually posting it here so that I could compare with mine ?
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...
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.
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!
https://stackoverflow.com/tags/gideros/info
... I definitely think this project deserves more exposure.
Likes: pie
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?
make -f scripts/Makefile.gid android.install
make -f scripts/Makefile.gid html5.install
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?
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?
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
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: ... works fine.
Now it's just WinRT: As I said before I have all three advertising SDKs (8.1, 8.1 Phone and 10) installed, but this error persists.
Is this relevant?
But no "woot" yet, it's failing with the build script winrt.player: winrt.template section when building ARM (with the Publish flag). Just in case this rings a bell.
So that's a woot! Everything is building successfully now. Will update GitHub Wiki!
Likes: hgy29, antix