portable programming - any suggestions for kicking off a project?
I am considering to kick off a project for medical data exchange which i would love to be cross platform. I reckon using c++, STL, CMake and doxygen, gcc for all platforms and Visual C++ for Win32.
I have experience with Visual C++ proprietary coding, but to me it looks like the better idea to start the thing on Linux (KDevelop) and port it to Win by means of CMake.
Basically, the project will rather be a messageing framework incorporating HL7, XML an DICOM Standards, apps will only be included for example.
Do you have any suggestions, do you know about common pitfalls I could avoid (by your advice:) ?
More detailed: ist there a more comprehensive tutorial or manual for CMake available? I checked the website and some vivisimoed sources on the web :study: , but did not find the time-saver I am looking for ;) .
I would be glad to receive your opinions on my intention. Any statement appreciated!
I would be careful using Visual C++ for portable code, as it is not a fully standard-complient C++ compiler. For example, it does not ship with a standard template library (last I checked), and the template support isn't up to standard.
In my opinion, templates and the STL are a major part of C++ programming; they can save you hours of coding time whenever you have to manipulate a collection of data in any not-quite-trivial way.
My advice would be to look at using something like Qt (http://www.troll.no), which is a cross-platform development toolkit with its own IDE. The main downside to it is that you can't use it for commercial code under Windows without paying a licence fee.
thanks for your thoughts - they help me making my mind up.
Yes, Visual is not the platform to generate the whole thing on from the scratch, you are right.
I reckon to build the framework on KDevelop/gcc and keep an eye on portability to Visual C++.
There is a project I admire very much - the dcmtk (http://dicom.offis.de), that gives you an industry strength DICOM messaging library on BSD license, and this is cross platform "like hell" - it impressed me. But, they did it the hard way, not using STL at all, all "elaborate" functions hand-knitted (strings, lists etc.) but it was started years ago.
In my Visual C++ .NET (2003) there is a fairly well implemented support of STL (announced as a "new feature":)), and that made me think of using it.
Loads of projects are using the proprietary Visual C++ with MFC, and I would like "my" framework to smoothly integrate there too - so you can add GUIs with MFC as well as QT or KDE or GTK or ... or... - See, its a matter of freedom of choice.
No Microsoft Support will exclude the still popular Windows platforms - yes, I know the QT (expensive for MS-Windows) and GTK stuff, but - for the GUI Part, this is not "it", if you know what I mean.
Thank you loads!
|All times are GMT -5. The time now is 05:16 PM.|