473,382 Members | 1,464 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

C++ cross platform development

Hi all experts,

Perhaps this subject is OT here, if so please ignore this post!

I have developed a commercial application for the windows environment in C++
and it have come out good in this platform. Now I want to expand to the *nix
environment and I'm looking for a good cross platform development
environment in C++. I have examined wxwidget but it doesn't handle stl so I
don't think that's an option for me. I would really appreciate some input in
this subject.

Best Regards

Clark
Jul 23 '05 #1
5 1984
Clark K wrote:
I have developed a commercial application for the windows environment in C++ and it have come out good in this platform. Now I want to expand to the *nix environment and I'm looking for a good cross platform development
environment in C++. I have examined wxwidget but it doesn't handle stl so I don't think that's an option for me. I would really appreciate some input in this subject.


STL is part of C++. What conflict did wxWidgets show?

I recommend you port the non-GUI part of your application to GNU, first.
That will give you a platform portable between CygWin and Linux.

To let your program work without a GUI, write unit tests that do everything
a GUI would have done. The ideal is, when you paint a GUI over this layer,
all the input events from button clicks will delegate instantly to this
GUI-free layer.

During that effort, investigate FOX, FLTK, TCL/Tk, Gtk+, Qt. At least one
will tickle you. Qt has many fine points, so read /C++ GUI Programming with
Qt 3/.

If you relentless decouple things, and test them in isolation, the effort of
painting a GUI over your logical code should then be very easy.

--
Phlip
http://industrialxp.org/community/bi...UserInterfaces
Jul 23 '05 #2
"Clark K" <cl*****@outflying.org> wrote...
Perhaps this subject is OT here, if so please ignore this post!
Sorry, no. I f it's OT, we have to let you know it's OT. Otherwise how
would you and others learn what's OT and what's not OT?
I have developed a commercial application for the windows environment in
C++ and it have come out good in this platform. Now I want to expand to
the *nix environment and I'm looking for a good cross platform development
environment in C++. I have examined wxwidget but it doesn't handle stl
WTF does it mean that "it doesn't handle stl"?
so I don't think that's an option for me. I would really appreciate some
input in this subject.


There are several GUI toolkits that exist on more than one platform. None
are really on topic here since they don't represent a C++ _language_ issue.
The best place to ask about them would be the platform of your choice. If
you want to target Unix, choose which Unix, and ask there. If you want to
target Linux, ask in comp.os.linux.development.apps. There have also been
several exchanges here, so do check http://groups.google.com/ for the past
discussions on this topic.

V
Jul 23 '05 #3
On Thu, 17 Mar 2005 19:07:14 GMT, Phlip <ph*******@yahoo.com> wrote:
Clark K wrote:
I have developed a commercial application for the windows environment in

C++
and it have come out good in this platform. Now I want to expand to the

*nix
environment and I'm looking for a good cross platform development
environment in C++. I have examined wxwidget but it doesn't handle stl
so

I
don't think that's an option for me. I would really appreciate some
input

in
this subject.


STL is part of C++. What conflict did wxWidgets show?

I recommend you port the non-GUI part of your application to GNU, first.
That will give you a platform portable between CygWin and Linux.

To let your program work without a GUI, write unit tests that do
everything
a GUI would have done. The ideal is, when you paint a GUI over this
layer,
all the input events from button clicks will delegate instantly to this
GUI-free layer.

During that effort, investigate FOX, FLTK, TCL/Tk, Gtk+, Qt. At least one
will tickle you. Qt has many fine points, so read /C++ GUI Programming
with
Qt 3/.

If you relentless decouple things, and test them in isolation, the
effort of
painting a GUI over your logical code should then be very easy.

you may use crossplatform libraries with mingw32 and your
program will be quite well compiled for win32 (without cygwin
layer) and also on *nix systems.
(gtk+ has a C++ frontend "gtkmm". It is done with supporting
many C++ features in mind.)
Jul 23 '05 #4
Victor Bazarov wrote:
"Clark K" <cl*****@outflying.org> wrote...
I have developed a commercial application for the windows environment in
C++ and it have come out good in this platform. Now I want to expand to
the *nix environment and I'm looking for a good cross platform development
environment in C++. I have examined wxwidget but it doesn't handle stl

WTF does it mean that "it doesn't handle stl"?

Actually, according to their documentation, it "handles" STL just fine. The
fact is they don't *use* STL. It says point blank somewhere in their docs that
you're free to use the STL for whatever you want, but you must use their
containers when interfacing with their API.
Jul 23 '05 #5

Kurt Stutsman wrote:
Victor Bazarov wrote:
"Clark K" <cl*****@outflying.org> wrote...
I have examined wxwidget but it doesn't handle stl
WTF does it mean that "it doesn't handle stl"?

Actually, according to their documentation, it "handles" STL just

fine. The fact is they don't *use* STL. It says point blank somewhere in their docs that you're free to use the STL for whatever you want, but you must use their containers when interfacing with their API.


And how does that stop you from writing iterators for their containers?
Once you have those, you pretty much get <algorithm> for free.
Containers are trivial, iterators a bit harder but the real value of
the STL is in <algorithm> (and in ease of adaptation - once you have
that wxIterators.h done, copying to other containers is easy etc. )

HTH,
Michiel Salters

Jul 23 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Karsten | last post by:
Hi I'm a really a new with this cross platform development, so I have some dumb questions, which I hope you can help me with. If there is a better newsgroup for this question, please point...
0
by: demibee | last post by:
Thought this might be of interest to some out there... For those who've never encountered it, it's a free, open-source, cross-platform GUI library (Windows/Mac/Linux). Forte's Agent 2.0 will be...
5
by: sandwich_eater | last post by:
I am looking for a Linux distribution and a standard C++ compiler (IDE not too important) that can also compile to Win32, to run on my Dell dimension 2400... I have trouble with new distros since...
14
by: John Salerno | last post by:
Bear with me, but I've been reading a lot about how the .NET languages are platform independent, and I assume this means a program written in C# can be run on a Unix or Mac machine. If this...
35
by: Alex Martelli | last post by:
Having fixed a memory leak (not the leak of a Python reference, some other stuff I wasn't properly freeing in certain cases) in a C-coded extension I maintain, I need a way to test that the leak is...
1
by: sc | last post by:
I'm hoping to hear from anyone who has had extensive experience with writing cross-platform GUI apps using wxWidgets? I'm particularly interested in "advanced" features such as Outlook or Google...
7
by: Janiv Ratson | last post by:
Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the...
29
by: psaffrey | last post by:
I've been programming in Python for 5 or more years now and whenever I want a quick-n-dirty GUI, I use Tkinter. This is partly because it's the first toolkit I learnt, but also because it's part of...
11
by: Brad | last post by:
Hi, C++ newbie here... just rewrote a few old C programs and Pyhton scripts in C++ this evening. I had heard a lot of bad things about C++, but I found it to be a remarkable pleasant language!...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.