[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: Questions on cross-platform development...

Sudhakar Chandrasekharan forced the electrons to say:
> 1. The product is going to have GUI portions to it.  I do not want to to 
> be developing seperate GUIs for WinDOS (NT and 9x), Linux etc.  The only 
> cross-platform toolkit I've heard of is Qt.  A developer license for 
> Enterprise edition of Qt is not too expensive.  Are there other cross 

Note the License: field there? qt is nowadays GPL'ed. This qt is from
kde 2.0.

You will have a problem, since qt is not LGPL'ed. You will have to
release code that links to qt also under the GPL.

Name        : qt                           Relocations: /usr/lib/qt-2.2.1 
Version     : 2.2.1                             Vendor: Red Hat, Inc.
Release     : 1.6x                          Build Date: Mon Oct 23 16:46:15 2000
Install date: Wed Nov 15 10:47:24 2000      Build Host: porky.devel.redhat.com
Group       : System Environment/Libraries   Source RPM: qt-2.2.1-1.6x.src.rpm
Size        : 10747362                         License: GPL
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.troll.no/
Summary     : The shared library for the Qt GUI toolkit.
Description :
Qt is a GUI software toolkit which simplifies the task of writing and
maintaining GUI (Graphical User Interface) applications for the X
Window System. Qt is written in C++ and is fully object-oriented.

This package contains the shared library needed to run Qt
applications, as well as the README files for Qt.

> platform tooklits (preferably one that provides C bindings) that are 
> licensed under a BSD-style license?  Are there commercial ones available?

Well, every other software that runs on both Linux and MS Windows that
I have heard of has different code for these OSes. Maybe you can try a
scripting language like tcl/tk or wish. Is there a Windows port of Motif? 

> 2. Makefiles.  Is there a cross platform make?  I don't mind using 
> CygWin make as long as it can interact with the M$ compiler.

I guess if you keep your makefiles simple enough all make programs will
understand them. Or you can supply platform specific makefiles, or use
the MS windows port of GNU Make. Only if your makefile fails to run on
MS Windows, of course.

> 3. Is it possible to write cross platform code without every using 
> #ifdef PLATFORMs?

Well, write platform specific stuff in separate files (what comp.lang.c
guys call translation units), with well defined interfaces.  And compile
only the required one.

Even this will require you to find out the platform sometime in life. But
it indeed isolates platform dependent code. Platform identification can
now be done from the configure script, makefile, or whatever.


This signature is on vacation.