Click here to Skip to main content
15,885,366 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all
Can u please help me
I've devoloped a program in vc++ and it's working well on windows
How can i maks it a cross platform without depended framework like mono
Please i need the easiest way to do that
Thanks in advance
Posted
Comments
Seif Hatem 2-Jan-11 7:22am    
I need a way to do a cross platfoem application that run without any reqirements or built in requirement pls help
Henry Minute 2-Jan-11 7:27am    
After your comment:

The only way to do that, that I am aware of is, as John suggested, to make it a Web Application and I am far from being the person to help you with that.
OriginalGriff 2-Jan-11 7:52am    
After your comment: Think about it. They are different operating systems. to expect a single application to work across multiple operating systems is like expecting a car to work on petrol and diesel. The only way to do that is to have a petrol generator and a diesel generator in the back of an electric car. Expensive, cumbersome, and looks/works like cr@p.

If you are talking about making a WinForms C++ app work on Windows, Linux and Mac without using Mono, then I'm afraid it isn't simple: that's why Mono was developed.

It would be a lot easier to rework it to use .NET and then rely on Mono for cross platform support.
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 2-Jan-11 15:07pm    
I think you're quite right. One more note:
I think switching from C++ to C++/CLI would make it easier. Please see my answer.
You cannot run a native Windows C++ app on Linux unless you're using WINE, and even then each app your try to run has to be tested individually.

Mono is the open-source version of .Net, and runs on Linux. You will have to convert your application to .Net to get it to run on Mono, and even then, you can't use a version of .Net newer than 2.0 and still have a reasonable chance of getting it to run under Mono.

If you want true cross-platform compatibility, your best bet is a web application.

 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 2-Jan-11 15:11pm    
WINE is a good point, I forgot about that (but I did not really use it). My best bet is C++/CLI (please see my answer). Your answer got my 5.
If you think about it, what you want to do is not really possible.

You have to either use Mono instead of the Windows .NET Framework, or you will have to completely rewrite your program to use one of the many cross-platform GUI Libraries.

You might find this[^] article useful/interesting.

For details of cross-platform GUI Libraries do an internet search for cross platform gui.
 
Share this answer
 
v2
Comments
JF2015 2-Jan-11 6:45am    
Edited to fix the link.
#realJSOP 2-Jan-11 6:49am    
Using a cross-platform GUI is fraught with frustration. You usually end up with a product that looks like crap no matter which platform it's running on because you have to make concessions for one or both platforms. It's always been this way, and will always be this way. It's a huge waste of resources.
Seif Hatem 2-Jan-11 7:23am    
I need a way to do a cross platfoem application that run without any reqirements or built in requirement pls help
Sergey Alexandrovich Kryukov 2-Jan-11 15:09pm    
Basically, John is right, unfortunately. My best bet would be C++/CLI (please see my answer).
Anyway, my 5 for yours.
The best I can advise is:

Switch from C++ to C++/CLI. Than you can have all power of Mono.
Use caution and test compatibility on regular bases; don't use too advanced features (read Mono documentation on compatibility; for example, at the moment of writing we do not have WPF for mono, but there is a Silverlight analog) -- see http://www.mono-project.com/Compatibility[^].

This way, you can develop in Windows and run and test your executable assemblies on Mono. I even use on Linux my C# UI applications on a regular basis (only Windows.System.Forms based).
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900