I suggest that you renew support for MinGW.
-
- Halfling
- Posts: 40
- Joined: Fri Sep 15, 2006 3:40 am
I suggest that you renew support for MinGW.
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
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
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
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.
-
- Halfling
- Posts: 40
- Joined: Fri Sep 15, 2006 3:40 am
Re: I suggest that you renew support for MinGW.
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
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
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
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.dirkmitt wrote:I'm sorry to try to press this point.
-
- Orc Shaman
- Posts: 737
- Joined: Fri May 31, 2013 2:28 am
- x 65
Re: I suggest that you renew support for MinGW.
any news of precompiled Android? - is it also dropped?
should i use the rc1 version?? compile it myself?( oh no, not again... )
should i use the rc1 version?? compile it myself?( oh no, not again... )
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..
coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..
coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
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
Or use default branch and the latest NDK
-
- Gnoblar
- Posts: 24
- Joined: Sat Jul 05, 2014 3:21 am
- x 1
Re: I suggest that you renew support for MinGW.
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
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
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
Sounds like a volunteer to me. You should pick a MinGW version and provide the precompiled SDK for the community.
-
- Gnoblar
- Posts: 24
- Joined: Sat Jul 05, 2014 3:21 am
- x 1
Re: I suggest that you renew support for MinGW.
I would be glad to volunteer and do that if I know where to start.. 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.
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
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.
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.
-
- Gnoblar
- Posts: 24
- Joined: Sat Jul 05, 2014 3:21 am
- x 1
Re: I suggest that you renew support for MinGW.
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.
-
- OGRE Team Member
- Posts: 5433
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1341
Re: I suggest that you renew support for MinGW.
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: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
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.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.
I highly advised you should look into getting used to having it installed.
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
Re: I suggest that you renew support for MinGW.
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.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
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).
-
- OGRE Team Member
- Posts: 4304
- Joined: Mon Feb 04, 2008 2:02 pm
- Location: Germany
- x 136
Re: I suggest that you renew support for MinGW.
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.dark_sylinc wrote: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: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
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.
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
-
- Kobold
- Posts: 25
- Joined: Wed Sep 10, 2014 5:18 pm
- x 1
Re: I suggest that you renew support for MinGW.
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.
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.
-
- Minaton
- Posts: 933
- Joined: Mon Mar 05, 2012 11:37 am
- Location: Germany
- x 110
Re: I suggest that you renew support for MinGW.
I have an idea, too. You could also link that dependency repository as a sub module in main repository.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.
-
- Orc Shaman
- Posts: 737
- Joined: Fri May 31, 2013 2:28 am
- x 65
Re: I suggest that you renew support for MinGW.
just in case anyone missed this thread...here is a cool solution...
http://www.ogre3d.org/forums/viewtopic.php?f=1&t=81770
http://www.ogre3d.org/forums/viewtopic.php?f=1&t=81770
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..
coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..
coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
-
- Gnoblar
- Posts: 6
- Joined: Tue Aug 12, 2014 8:45 pm
Re: I suggest that you renew support for MinGW.
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.
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.
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
mingw is bad and you should feel bad
-
- Gremlin
- Posts: 164
- Joined: Sun Apr 14, 2013 8:51 pm
- x 10
Re: I suggest that you renew support for MinGW.
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.c6burns wrote:mingw is bad and you should feel bad
-
- Minaton
- Posts: 933
- Joined: Mon Mar 05, 2012 11:37 am
- Location: Germany
- x 110
Re: I suggest that you renew support for MinGW.
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.hydexon wrote: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.c6burns wrote:mingw is bad and you should feel bad
-
- Halfling
- Posts: 53
- Joined: Sun Apr 10, 2011 12:05 pm
- Location: The Netherlands
- x 6
Re: I suggest that you renew support for MinGW.
GCC still compiles cleaner binaries then VC++.hydexon wrote: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.c6burns wrote:mingw is bad and you should feel bad
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.
-
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 139
Re: I suggest that you renew support for MinGW.
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
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
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
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