Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Gideros Source Released - Page 2 — Gideros Forum

Gideros Source Released

2

Comments

  • Anyone who wants to contribute to wiki can now request accounts and will review and approve them :)
    http://giderosmobile.com/DevCenter/index.php/Special:RequestAccount
  • @ar2rsawseen: Ok finally got around to trying to build Gideros from scratch (on a WindowsXP machine). First thing I noticed was the sources had to be on a drive root so I mapped a network drive to the folder containing the Gideros source.

    A couple of things jumped out at me, first was a problem with Cygwin not working properly as cp refused to work with '\', so I removed Cygwin from my path and installed GNUWin CoreUtils from the link suggested by @EricCarr.

    The next problem came from GNUWin32 didn't come with a copy of make (a common problem it seems). The solution was to install GNUmake from this link.

    Now all is Hunky Dory (or so it seems) as things start to build. That is until ui which refuses to build due to a missing file on line 12 of "mainwindow.h" (which turned out to be a missing library)
    #include <Qsci/qsciscintilla.h>
    After some more internet trolling, I found this link explaining more about QScintilla and what it does. There is also a section on instalation. SO I downloaded QScintilla from here and following these instructions
        cd Qt4Qt5
        qmake qscintilla.pro
        make
        make install
    we got the thing built and installed.

    Tried to build ui again using buildqt.bat and success (it appears). I then ran the whole all_windows.bat and everything appears to have compiled without any more problems.

    Joy of joys, everything has compiled. Then I run copyall.bat and everything appears to have been copied into the release folder.

    I start running the built apps and all appears to be going smoothly until I try to run GiderosStudio.exe which causes an exception
    Unhandled exception at 0x61b04164 in GiderosStudio.exe:
    0xC0000005: Access violation reading location 0x00000000.
    All other apps work perfectly fine. I can only assume that it may have something to do with QScintilla. Any help would be greatly appreciated. The executable & QScintilla dll can be found here

  • Thank you @Scouser I've improved the tutorial with your notes

    Currently I can't say why Gideros Studio is not working for you, maybe @atilim knows any better way to get meaningful error message.
  • PlatypusPlatypus Member
    edited October 2014
    Welcome back to the mad fun Scouse!
    Kate's Catalogue of Travelling Theatre Centres :
    Meet Kate. Grey is her favourite colour. Maths is her favourite subject. Decency is her favourite type of behaviour.
    She definitely does not like jewellery or modelling, but loves aeroplanes and other machines made of aluminium.
  • Open Sourced Gideros plugins:
    Here is the repository for plugins including ones where in Labs and couple of new ones
    https://github.com/gideros/giderosplugins
    +1 -1 (+2 / -0 )Share on Facebook
  • Finally I would need to manage only one single repo, not 3 or 4 as before :)
    +1 -1 (+4 / -0 )Share on Facebook
  • Thank for your hard work! They are awesome! :)
    Coming soon
  • atilimatilim Maintainer
    @Scouser You need to build GiderosStudio in release mode. In debug build, QScintilla crashes.
  • @atilim: I did build it in release mode. Maybe I don't have the correct version of QScintilla. I will check tomorrow. Meanwhile, I have included the executable & dll files in my previous post. Could you check if it runs in your environment, with your QScintilla.dll?
  • I did my best understanding and leveraging the building scripts. The wiki page was clear enough to me (but I was a bit skilled in C/C++ builds and QTCreator) and I managed to build the "release" on my Win Seven.

    To do so, I installed QT5. I don't think there was an option NOT to install Mingw; So I got it straight of the box. I found the "QT5.3 for Desktop" icon launches a command prompt with everything set as expected.

    So "call C:\Qt\5.3\mingw482_32\bin\qtenv2.bat " lines are pretty useless as far as I can tell. Note also the default path of QT is not the same as found in the .bat files.

    I was bothered by the .bat files with \ instead of / in cp commands. I don't know why, but my GNU "cp" command wants "/" even on windows. I don't know how to check I'm using the mingw version.

    My objective is to debug the Windows player which crashes almost every time I close/restart my app (http://giderosmobile.com/apps/renabomb-vengeance).

    Building a "debug" version of the player was not intuitive. Though there is a ./debug directory in the player one.

    I created first a "Debug" target and activated "shadow build" and pointed the debug directory. Unfortunately, it makes the -L relative paths wrong by adding a level of folder. Don't know if I'm an idiot or QTCreator is dumber than expected.

    I eventually dismissed the "shadow build" idea and manage to rebuild the player in "debug" mode. It was a bit black magic to me, but it worked.

    Running the player in debug mode was hard. Because of all the dll dependencies. Eventually, I added into Creator a "cp" deploying command to put the exe in the "release" directory where all previously built dll are found. I told QTCreator where the final exe was supposed to be and the debugging process started working.

    For some reason, the release folder didn't contain all the lua resources needed to make the player operational. I don't know which bat script was supposed to put them. I copied what I found in my original gideros copy and it worked.

    Now my bug belongs to the memory corruption kind and the exe hangs at different places. I however noticed I need a debug version of libgid.dll ; That's where I'm stuck now. The debug version of libgid I built doesn't really work.
    The exe logs: QEventLoop: Cannot be used without QApplication
    QObject::connect: Cannot connect (null)::aboutToQuit() to QNativeWifiEngine::closeHandle()

    then my app runs till a "dialog box" is shown. And player crashes with:
    QWidget: Must construct a QApplication before a QWidget
    Invalid parameter passed to C runtime function.
    Invalid parameter passed to C runtime function.

    So. Here's my experience. Thanks for the hard work.
  • Despite my self compiled libgid.dll has issues of its own, the resulting windows player seems more stable at first glance. No crash when closing. So I found this fix here: https: //github.com/gideros/gideros/commit/acd5b4662d2cfdcba82f0c9200659a7130f96dba ; Are the downloadable binaries up to date with this fix?
  • @miellaby I'm almost certain that binaries include the fix you've mentioned.

    let me ask @atilim for help on this one
  • How can I add to the project Gideros default splash screen even if I upgrade license? I like it and I don't want create a new one.
  • I think the splash screen should be a file you can pick or switch off - the default one being the Gideros one.
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • So I just put splashscreen.cpp and splashscreen.h in my project and it works? Where?
  • baongoc124baongoc124 Member
    edited February 2015
    Thank you guys! I just spent a few hours to compile Gideros on Linux and it works! :D Finally I can comfortably develop on Linux without having to use buggy Wine. Open-source software rocks! :x
    +1 -1 (+2 / -0 )Share on Facebook
  • @baongoc124 if you have some free time can you make a tutorial it will be great for other users also :x

    Likes: lsouchet

    +1 -1 (+1 / -0 )Share on Facebook
  • @baongoc124 You should give your changes to @John26 so the Kickstarter team will be able to put the changes into their Gideros version - it may make it much easier for them to make the Pi and other linux versions.
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • @talis I have to patch some places in the code but mostly *.pro files. Maybe I can provide a diff versus 2014.10 version and put in some instructions to use that to build.
    @SinisterSoft I'd love to contribute to Gideros. But it seems their github repo isn't quite active. Not sure if I create a pull request it will get merged.
  • @baongoc124 Have you looked at this github?

    https://github.com/Liberton/gideros/
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • @SinisterSoft I did. But it looks like he's trying to make it work for Windows so there're some hardcode in places. Maybe I'll make a fork and put my changes there and decide other stuff later.

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • @ar2rsawseen Are the build instruction on your first post still valid?
  • ar2rsawseenar2rsawseen Maintainer
    depends if you want to make development version, like changing code and rebuilding and trying it out

    if yes then it depends on what part you want to build, like Gideros Player, or Gideros Studio, etc.

    or you want to create end build, like installation packages?

  • >>like changing code and rebuilding and trying it out

    That part.
  • ar2rsawseenar2rsawseen Maintainer
    Then for Gideros Studio and Gideros Player you would need QT5.4 with QT Creator IDE.
    If QT asks you about shadow build, don't use it, build in the same directory.

    Also remember to build all projects in same configuration, like building all debug versions or all release versions

    So you need to open projects (.pro files) and build them in this order:

    libpystring
    libgvfs
    lua
    libgid
    libgideros

    And then you can player/player_qt5.pro to play and build the player

    I don't really know how that will be in OSX, but in Windows you also need to copy some dll files to the player build directory, like icudt53.dll, icuin53.dll and icuuc53.dll. So I did it with the script:
    https://github.com/gideros/gideros/blob/master/scripts/copyqt5.bat

    Gideros Studio I think was a little easier, it only had it's ui.pro file to build and you would only need to prebuilt QScintilla, basically what described in wiki

    Likes: MikeHart

    +1 -1 (+1 / -0 )Share on Facebook
  • jdbcjdbc Member
    I will try to build for Linux when I had free time.
  • Sorry to necro this thread guys BUT most of your windows batch files need updating to use Qt5.4.

    The following files all have the line
    call c:\Qt\Qt5.3.2\5.3\mingw482_32\bin\qtenv2.bat
    buildqtlibs.bat
    buildplugins.bat
    cleanqt.bat
    buildqt.bat
    Which is OK until you try to build the player on a Windows box where you encounter the error
    sources/glcanvas.cpp:503:78: error: 'AppDataLocation' is not a member of 'QStandardPaths'
                 documentsDirectory = qPrintable(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
    I think QStandardPaths::AppDataLocation was only introduced in Qt5.4.

    With the current install of Qt (Qt5.4.2) the line should now read
    call c:\Qt\Qt5.4.2\5.4\mingw491_32\bin\qtenv2.bat
  • ar2rsawseenar2rsawseen Maintainer
    @Scouser true AppDataLocation was basically introduced with this release. So did not yet changed the build scripts to it
Sign In or Register to comment.