Page 1 of 1

I suggest that you renew support for MinGW.

Posted: Sat Jul 19, 2014 6:53 pm
by dirkmitt
Hello.

It's been a while.

I just recently compiled the OGRE samples, for OGRE version 1.8.1 , on a new laptop I have, but using the SDK built specifically for MinGW.

I had initially also run in to the following error messages

http://forums.codeblocks.org/index.php/ ... 436.0.html

What I find a bit disappointing, is that apparently the existence of such errors, has caused the OGRE developers to stop publishing a MinGW version of their SDK.

I was able to surmount the error above, by custom-compiling my own Boost libraries, v1.55.0 , and then dropping in the entire boost/boost folder that contains the header files, as well as the exact .a files - static libraries - required, into the OGRE SDK's folders. And the Lo and Behold, the OGRE SDKs compiled fine!

My success in this suggests to me, since the original error messages were only coming from linking to the Boost static libraries, not from linking to all OGRE SDK libraries, that maybe a simple error was made when including the Boost libraries as part of the SDK, maybe to have dropped in the wrong build of Boost libraries, ?

Because indeed, when I recompiled them myself, I was also making sure, that the linking conventions used to build Boost, matched those used to build my OGRE Samples - which worked.

And so I feel that it was premature on the part of OGRE developers, to stop support for MinGW.

Dirk

Re: I suggest that you renew support for MinGW.

Posted: Sat Jul 19, 2014 8:33 pm
by c6burns
The reason precompiled MinGW is not published is that there are so many versions that it is either too much work to publish them all, or too little use to pick one and publish that. MinGW support for Ogre has not been dropped, just precompiled binaries are not provided.

Re: I suggest that you renew support for MinGW.

Posted: Sun Jul 20, 2014 11:37 am
by dirkmitt
I'm sorry to try to press this point.

But I just now downloaded the precompiled binaries for MinGW 4.8, for OGRE 1.8.1 , and don't think it was a fluke that essentially, my Samples compiled.

The main reason fw I prefer to use the SDK, and not to build from source, is that (1) under Windows, installing all the dependencies is a big pain, and (2) to build the DirectX renderer an even bigger pain, since I'm always leery to install the DirectX SDK from Microsoft, which essentially reinstalls DirectX. For me, OGRE is my SDK ... So in my experience, both on this Windows 8.1 Laptop and in an earlier experience on my Windows 7 tower PC, to install the precompiled version was anything but useless.

(Edit:) Admittedly, under Linux I have always built from source, but there, installing the dependencies is much more straightforward, I think, than it would be to install the DirectX SDK under Windows...

What I'm afraid of however, is that the linking conventions for the bundled Boost binaries, may have been incorrect, and that problems which did exist in trying to link GCC 4.8 MinGW to them, could have been misinterpreted as problems in getting any MinGW projects at all, to link to the OGRE SDK binaries , which I didn't experience any problems doing.

If I may ask: Aside from problems linking to Boost, how often did your users report problems, linking from up-to-date MinGW versions?
(Edit:) I mean, I also had to copy the file libstdc++-6.dll from my MinGW folder, to the folder with the executable I had built (the SampleBrowser). But I see that as more of a general usage question, for MinGW, which most users know about...

Dirk

Re: I suggest that you renew support for MinGW.

Posted: Sun Jul 20, 2014 1:03 pm
by c6burns
dirkmitt wrote:I'm sorry to try to press this point.
That's fine, I'm just explaining to you from the announcement thread that the team is no longer doing mingw binary packages and recommend to those users to compile everything consistently under their chosen version of mingw. If you snoop around the forum you will find some of the issues that caused this decision to be made. It was not for no reason.

Re: I suggest that you renew support for MinGW.

Posted: Mon Jul 21, 2014 1:28 pm
by frostbyte
any news of precompiled Android? - is it also dropped?
should i use the rc1 version?? compile it myself?( oh no, not again... )

Re: I suggest that you renew support for MinGW.

Posted: Mon Jul 21, 2014 7:08 pm
by c6burns
Either follow this to the letter with v1-9 branch: http://www.ogre3d.org/tikiwiki/tiki-ind ... on=Android
Or use default branch and the latest NDK

Re: I suggest that you renew support for MinGW.

Posted: Fri Sep 19, 2014 11:34 pm
by scottyp
I 100% agree with OP dirkmitt here. Usually some developers or starters are using Windows as their main platform to work on but would still need to expand to other platforms, so MinGW would be the best choice for cross compiling.

It's either a precompiled version or at least a straight forward guide to acquire and build the dependencies in Windows, I'd prefer a precompiled SDK though.

+1000 on MinGW SDK

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 1:16 am
by c6burns
Sounds like a volunteer to me. You should pick a MinGW version and provide the precompiled SDK for the community.

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 1:40 am
by scottyp
I would be glad to volunteer and do that if I know where to start.. :wink: That's the problem here, I'm just building from existing SDKs at the moment fyi.
c6burns wrote:Sounds like a volunteer to me. You should pick a MinGW version and provide the precompiled SDK for the community.

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 2:17 am
by c6burns
Of course this is just my opinion, but I don't see why people choose mingw over vc++ for windows deployment (except for very specific circumstances, eg. c99 ... although I hear that's been added in 2013). Especially if you are not a programmer by trade, I recommend visual studio. There are definitely some mingw users around though, and I'm sure they have their reasons ... don't taze me bro.

The problem with precompiled SDKs is that mingw cycles versions fairly quickly, meaning there are a lot of versions out there and some are not compatible with each other. This led to some strange issues stemming from version mismatch which made supporting binaries difficult. This is why there are no precompiled binaries for mingw anymore.

You can compile Ogre on mingw, you just need to build it all yourself. So start with the ogredeps repo, then copy the dependencies over and build Ogre itself. I did it once in Code::Blocks when I was bored. Since ogre and ogredeps use CMake, it makes things a bit easier.

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 2:39 am
by scottyp
Ok sorry I didn't mean to start anything here, just a concerned new member and I'm a bit curious too but I understand now. Thanks for the detailed explanation. :)
c6burns wrote:Of course this is just my opinion, but I don't see why people choose mingw over vc++ for windows deployment (except for very specific circumstances, eg. c99 ... although I hear that's been added in 2013). Especially if you are not a programmer by trade, I recommend visual studio. There are definitely some mingw users around though, and I'm sure they have their reasons ... don't taze me bro.

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 6:37 am
by dark_sylinc
dirkmitt wrote:The main reason fw I prefer to use the SDK, and not to build from source, is that (1) under Windows, installing all the dependencies is a big pain
Au contraire. If you use ogredeps repo and tell CMake to use the deps repo folder, it's the easiest platform to setup the Dependencies and build from source.
dirkmitt wrote:to build the DirectX renderer an even bigger pain, since I'm always leery to install the DirectX SDK from Microsoft, which essentially reinstalls DirectX. For me, OGRE is my SDK ... So in my experience, both on this Windows 8.1 Laptop and in an earlier experience on my Windows 7 tower PC, to install the precompiled version was anything but useless.
Doing any king of DX graphics development without the DX SDK is kamikaze. The SDK brings many useful tools (Dx Texture Tool, Dx Caps Viewer, Documentation, PIX, samples and debug runtimes) which are must have for any developer doing 3D graphics.
I highly advised you should look into getting used to having it installed.

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 6:56 am
by Kojack
scottyp wrote:It's either a precompiled version or at least a straight forward guide to acquire and build the dependencies in Windows, I'd prefer a precompiled SDK though.

+1000 on MinGW SDK
We have a team member for MingW support: TheSHEEEP. In his experience porecompiled sdks with MingW are far too problematic, most issues people on the forum had came down to them using slightly different versions of MingW to what he used to build the sdks. So binary sdks were dropped. Visual Studio does suffer from similar problems, different compilers and even updates to the compiler can cause instability, but it updates much less often and it's very obvious which version you are running.
For a guide to building on windows with MingW, have you tried this: http://www.ogre3d.org/tikiwiki/tiki-ind ... +and+MinGW
It's by TheSHEEEP and looks pretty simple (although I haven't tried it myself).

Re: I suggest that you renew support for MinGW.

Posted: Sat Sep 20, 2014 6:38 pm
by spacegaier
dark_sylinc wrote:
dirkmitt wrote:The main reason fw I prefer to use the SDK, and not to build from source, is that (1) under Windows, installing all the dependencies is a big pain
Au contraire. If you use ogredeps repo and tell CMake to use the deps repo folder, it's the easiest platform to setup the Dependencies and build from source.
I can only stress that point. If you place the downloaded dependencies inside the Ogre source folder in a new folder called "Dependencies", you don't even have to tell CMake anything, since that will automatically be picked up and be compiled alongside Ogre itself. Simple as that.

As as idea: We might be adding that folder to the official source repository and only put a text file in it with the link to the Ogre dependencies repository. That might clear it up.

Re: I suggest that you renew support for MinGW.

Posted: Fri Sep 26, 2014 10:03 am
by kracejic
Recently I had to install Ogre with MinGW on several Windows PCs and on second machine I wrote down all the necessary steps. On the third it was as easy as ctrl-c + ctrl-v.

So I put together small command by command tutorial on how to do it and I have created a new wiki page for it.
http://www.ogre3d.org/tikiwiki/tiki-ind ... uide+MinGW

It is based on tutorial from TheSHEEEP, but I take different approach - less clicking, more command line, less thinking, more copy/paste. :) I think it is more error-proof than clicking on gui and checking screenshots on where to click. It is also faster, you just insert commands and wait until it compiles.

I hope it will help somebody. :)

Re: I suggest that you renew support for MinGW.

Posted: Fri Sep 26, 2014 10:31 am
by Transporter
spacegaier wrote:As as idea: We might be adding that folder to the official source repository and only put a text file in it with the link to the Ogre dependencies repository. That might clear it up.
I have an idea, too. You could also link that dependency repository as a sub module in main repository.

Re: I suggest that you renew support for MinGW.

Posted: Sat Nov 01, 2014 12:05 am
by frostbyte
just in case anyone missed this thread...here is a cool solution... 8)
http://www.ogre3d.org/forums/viewtopic.php?f=1&t=81770

Re: I suggest that you renew support for MinGW.

Posted: Wed Oct 28, 2015 2:01 pm
by DarioOli
I that can helps in my opensource projects I maintain a dozen different compiler versions and different operative systems (still have to figure out to do the same for android and emscripten but that's secondary now for my priorities). Also I do automated test/deploy, so basically my work cycle is:

1) prepare a commit
2) make sure it compile and passes tests on my machine
3) let automation get handle dozen compilers to compile and test with everyone
4) eventually fix broken parts/tests for some compilers (tipically I forget some times to put a "return" wich is a warning for GCC but an error for VS, some times I find that GCC include additional headers and then I have to add those headers manually because missing on other compilers)
5) commit the hotfix and eventually go back to point 1)

It's pretty straightforward and save A LOT of manual effort. => more people able to compile and use ogre => more feedback for bugfixes/ API suggestions / more users.

Re: I suggest that you renew support for MinGW.

Posted: Wed Nov 11, 2015 5:06 pm
by c6burns
mingw is bad and you should feel bad

Re: I suggest that you renew support for MinGW.

Posted: Wed Nov 11, 2015 7:03 pm
by hydexon
c6burns wrote:mingw is bad and you should feel bad
I don't know why people want to rely using GCC compilers in Windows, specially newbies?, when the only use of it is for porting UNIX/Linux apps into Windows, when the best supported for Windows is Visual C++, this can be two factors: The weight of Visual Studio or the Dev-C++/CodeBlocks fever of 2004.

Re: I suggest that you renew support for MinGW.

Posted: Mon Jan 11, 2016 10:11 am
by Transporter
hydexon wrote:
c6burns wrote:mingw is bad and you should feel bad
I don't know why people want to rely using GCC compilers in Windows, specially newbies?, when the only use of it is for porting UNIX/Linux apps into Windows, when the best supported for Windows is Visual C++, this can be two factors: The weight of Visual Studio or the Dev-C++/CodeBlocks fever of 2004.
For information: It is not necessary to use the Visual Studio IDE (which is the biggest part of VS). You can create the OGRE projects with CMake and compile it from the windows command line with VC++. I always use this method.

Re: I suggest that you renew support for MinGW.

Posted: Mon Feb 29, 2016 1:51 pm
by TheOnlyJoey
hydexon wrote:
c6burns wrote:mingw is bad and you should feel bad
I don't know why people want to rely using GCC compilers in Windows, specially newbies?, when the only use of it is for porting UNIX/Linux apps into Windows, when the best supported for Windows is Visual C++, this can be two factors: The weight of Visual Studio or the Dev-C++/CodeBlocks fever of 2004.
GCC still compiles cleaner binaries then VC++.
That and with multiple breaking compiler extensions and slow full support for C99, we always shipped our software and games with GCC.
The only exception is Mac OSX where we switched to Clang last year.

Re: I suggest that you renew support for MinGW.

Posted: Mon Feb 29, 2016 7:35 pm
by c6burns
C99 support is a good reason to use mingw. Then again, this thread was never about whether it's a good idea to use mingw. This thread was about whether or not the Ogre team should distribute mingw binary builds, which by the way were fraught with issues and arguably caused more harm than good (through no fault of the ogre team, I should note).

One issue I have seen time and again is developers choosing mingw without a good reason to do so. Then getting stuck on various issues relating to direct X or windows development, and lacking the fundamental knowledge of the platform required to solve those issues. That is why I would say if you don't have a good reason to use mingw you should use microsoft's compiler to make windows builds, especially if you plan to use directx in any capacity. "I dont like VS" and "I want my game to work on linux" are not good reasons to use mingw, and those are the most common I have seen. C99 support, as I said, is an excellent reason. I have yet to see someone struggling with ogre and mingw say they chose it for C99, even though it's one of the strongest reasons to choose it :lol:

TLDR there's no problem with mingw if you know what you are doing. But if you know what you are doing, you won't be using the ogre team's binary SDK anyway