Link to home
Start Free TrialLog in
Avatar of Gsteingr
Gsteingr

asked on

.out to .exe OR converting a linux project to windows project

Hi,

I have this project ready for its first version. it is a rather small application, but it uses many libraries that use other libraries, it also uses qt 3.3, makefile and .pro file. The windows GUI are all using QT, the database code is all using the MySql lib.

I have to make it run on Windows. Create an .exe or even an installer. First I thought of adding it all manually to my MS VS 2005. I stopped when I chased libraries to libraries. And then I didn't find any Qt 3.3 for windows, there was only the 4.2 ...

My question: What is the best way to do this? Any advice perhaps? Anything that exists? I tried googling first but I didn't find anything.

Thank you in advance.
ASKER CERTIFIED SOLUTION
Avatar of Arty K
Arty K
Flag of Kazakhstan image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Gsteingr
Gsteingr

ASKER

well, im still in the process of adding all the libraries we use here at work. this is endless... at work i would just download all the libs, and then run qmake...
here im just adding one by one, to avoid all the libs... but somehow one is linked to the other and so on..... and not to mention the pro files are the ones that point to the actual dir of the libs... so in the cpp or h include we just use a shortcut, and the pro points to the real file... so im editing all that manually too... maybe this will take a week :(
You are VERY optimistic it you guess that porting takes a week or so. Library dependencies is not the worst of your future problem. Porting every library (that is not already ported) may take several monthes (if possible at all). Function behaviour may differ on Windows. As an example very simple open() read() and write() system calls work fine in Unix and have some troubles in Windows.
Some programmers prefer Cygwin enviroment, because it has already lots of Unix libraries ported. Personnally I don't like this method, because you get not 'native' Windows application, but 'cygwin' application. The difference is in cygwin.dll that must be present.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
no I cant. they dont want that. but i have gotten further now. im using qmake and nmake so far so good. now VC 8.0 is complaining about old code... like memset memcopy strcpy strchr... maybe i should try it with the devcpp? its too many things to change it manually for VC 8.0 ... ah or should i do that?
ahoffmann yes it is platform independent, and uses QT 3.3 for the GUI and the mysql API for data stuff...
> .. yes it is platform independent,
and just before
> .. VC 8.0 is complaining about old code... like memset memcopy strcpy strchr ..

are we talking about different things?
Gsteingr one simple example. If you have at least one fork() call, your application will not compile and you have big troubles of porting it. But if you have suppose 'fnctl()' it compiles well, but works different. You need to know platform details.
There are many ''ifs' for your application to be portable...
Yes, there are many applications that use Qt and have been written for both platforms *nix and Win. You may look their sources to see difference. As I know 'SIM' instant messanger http://sim-icq.sourceforge.net/ is one of them. Good way to learn what means 'portable' is to see inside code that is already ported. You will find lots of '#ifdef _WIN32_ blabla' or something like this inside.

hi

no there was no fork call. and stuff like that.

its finally working. I got it to work VS VC 8.0 .Net
had some problems linking ofcourse. But had to use a lisenced QT commercial for win. Maybe that was the problem.

Thank you all for your help
I'm glad that you compiled your project much faster than I guessed :-)