What an horrible IDE!!!

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

kbhearn
Posts: 411
Joined: Thu Dec 30, 2010 4:48 am

Re: What an horrible IDE!!!

Post by kbhearn »

stegemma wrote:
kbhearn wrote:[...]LGPL should be fine for commercial applications. In essence it just comes down to dynamic linking to the library. All you're missing with the commercial license is a few 'extra' features that aren't core to the library, support, and the ability to use a modified version of the library without releasing the changes.

You may also be missing the ability to target some mobile platforms though because i believe dynamic linking isn't an option on iOS for instance. Last i looked targetting android shouldn't have this issue though.
QT on Mac/Linux uses XWindow or native components?
by default it will opt for controls with native look and feel (not necessarily native controls). you can force a particular style on it if you want a uniform look and feel across platforms.
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: What an horrible IDE!!!

Post by stegemma »

kbhearn wrote:[...]by default it will opt for controls with native look and feel (not necessarily native controls). you can force a particular style on it if you want a uniform look and feel across platforms.
Thanks... now I try Qt...
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: What an horrible IDE!!!

Post by stegemma »

...ok, Qt installs without any trouble both on Mac and Windows. I've tested my environment:

- the source folder is on a Windows machine
- from Qt on Mac I've created a project on that folder
- it compiles and runs on the Mac
- it compiles and runs on the Windows machine too!!!

it seems the only IDE that I've tested that can do this, without moving any file, that''s great, for me!

Now let's try with more complex projects....

Thanks to all again.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: What an horrible IDE!!!

Post by stegemma »

After some day of test, I can compile with eclipse/wxWidgets 3.0.2 on Mac. It has been a terrible experience... because, as said, nothing seems to works in Mac OS X. Now I can give my impressions on various frameworks (seen from the GUI aspect only):

1) Qt:

- very complete and works without any problem, just after installation on windows/Mac OS X
- you have to provide DLL on Windows or shared library on Mac OS X
- the DLL on Windows remember me of problems that I want absolutely avoid!

2) FLTK:

- excellent and lightweight but looks old and it doesn't have native look and feel widgets
- I liked very much this library but the absence of native look and feel has made me search for something else

3) DLib:

- another interesting framework
- works well and compiles without any problem
- it requires X11 on Mac OS X (I can't ask my "low-experienced" customers to install X11)

4) wxWidgets:

- it has native look and feel on Windows/Mac
- very complete, for what I need
- incredibly fragile in compilation and linking steps: I've installed compiled uninstalled re-installed and recompiled and so on the library for days and days and finally works!

At the end, I've choose wxWidgets, because you can make single exe or single .app applications, without DLL or shared library, and it has native controls on any platform. The problem could be the support, in the future, because the forum is not very reactive, for complex problems. I've spent days, as said, searching WEB for multiple compilation problems on OS X Yosemite. Another problem could be that it is not usable for iOS/Android development (AFAIK).

As an IDE, avoid xCode if you choose wxWidgets. Eclipse Mars seems stable on Mac OS X. On windows, Visual Studio is the best for me.

In this environment I can't use the same project on multiple platforms but I obviously use the same sources.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
mar
Posts: 2552
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: What an horrible IDE!!!

Post by mar »

Interesting.
My experience with wxWidgets (note: some years ago) is that it suffers from horrible design (they tried to be MFC-like which was a very bad decision IMHO since MFC is pure crap).
I doubt they went into complete redesigning since but I haven't checked for a while, I may be wrong.

Qt is really way better. Of course it has one drawback: you can't link statically unless you go open source or go for the commercial license.
Otherwise you have to include large dynamic libraries even if your project is small.
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: What an horrible IDE!!!

Post by stegemma »

mar wrote:Interesting.
My experience with wxWidgets (note: some years ago) is that it suffers from horrible design (they tried to be MFC-like which was a very bad decision IMHO since MFC is pure crap).
I doubt they went into complete redesigning since but I haven't checked for a while, I may be wrong.

Qt is really way better. Of course it has one drawback: you can't link statically unless you go open source or go for the commercial license.
Otherwise you have to include large dynamic libraries even if your project is small.
The design of wxWidgets is the same but you use wxFormBuilders to draw the interface, so you can almost don't care about that. I use to encapsulate my own components on C++ classes and that was the first thing that doesn't works on Mac (the other was to link the program).

For those who want to test wxWidgets, I add the steps I needed to make it works:

1) I've disinstalled the full mac port environment: this was a drastic solution but because I've used the library in the past, there were a couple of versions that conflicts

2) I've compiled from the console with this commands (from wxWidgets folder):

Code: Select all

rmdir -r build-release
mkdir build-release
cd build-release

 ../configure --with-osx_cocoa --with-macosx-version-min=10.9 --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk --prefix="$(pwd)" --with-opengl --disable-debug --disable-shared --enable-unicode --with-libjpeg=builtin --with-libpng=builtin --with-regex=builtin --with-libtiff=builtin --with-zlib=builtin --with-expat=builtin --disable-compat28

make -j6
Note the minimal OS X version set to 10.9, because with 10.7 it doesn't works (almost 3 days lost for this!!!).

Another trick in eclipse is to add to environment variables this:

Code: Select all


WXDIR = your wxWidgets root

WXFLAGS = `$(WXDIR)/build-release/wx-config --cxxflags` -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.9

WXLIBFLAGS = `$(WXDIR)/build-release/wx-config --libs`
then recall those variables in g++ command (for both your libraries or executables), in G++ compiler->miscellaneous->other flags:

Code: Select all

-c -fmessage-length=0 $(WXFLAGS)
and finally, for executables, in MacOS X C++ Linker->Miscellaneous->Linker flags:

Code: Select all

$(WXLIBFLAGS)
That's not all... because there most be some care when you create your own eclipse projects, but the rest is well documented on-line.

I hope that all of this work can help somebody.

PS: ops... I forget to mention that you should change the Webkit header, before to compile wxWidgets library:

Code: Select all

src/osx/webview_webkit.mm

change:

#include <WebKit/WebKit.h>

with

#include <WebKit/WebKitLegacy.h>
(well documented in various web sites)
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com