Cross Platform Client Server application



  • Hello,

    My requirement is to develop a server-client application (not UDP based) that will be able to run on both windows and Mac. The applications won't have any Dialog visible and only there icons will be displayed in the tray near Clock. I have done this work in windows using VC++ 6 very easily, but now the requirement is to develop same applciation for MAC. I haven't used Mac before, and don't know where to start. Googling for cross-platform,i found about -QT- Qt. So I have few questions:

    Source Code written in -QT- Qt on windows will be able to compile on MAC? and the output application will be able to run on MAC?

    I have installed -QT- Qt Creator IDE, but the compiler is missing. When i download -QT- Qt SDK, it takes much more time to install from online. Any link for offline Installer?

    For mac, how to start my application at startup as we do in windows?

    I am new to -QT- Qt and MAC, so may be my questions seem too basic to you, but I really need help to do all this.

    Kashif

    Edit: it is Qt, not QT; Andre



  • Take a look at the examples. There is a Future Cookie example that implements a simple client/server infrastructure, and it works on all supported platforms.

    On your questions then:

    Yes, as long as you use Qt API's and no native API's.

    There is an offline installer yes. You can find it "here":http://labs.qt.nokia.com/2011/05/04/qt-sdk-1-1-released/ (and you are right that there needs to be a clearer download link for that too).

    That is outside the scope of Qt (on both platforms). I bet Google can help you on that part.



  • Andre already answered question 1.

    An addition to No 2:
    You can get precompiled versions of the libraries to install in addition to Qt Creator. Look for the Mac section on the "qt download page":http://qt.nokia.com/downloads (go LGPL). After you're done make sure Qt Creator has catched up for the newly installed libs (Settings Cmd-,; choose Qt4 on the left) or add it manually. You need the path to qmake (I suppose it's in /usr/bin or somewhere below /Developer; I never installed the prebuilt binaries).

    Regarding No 3:
    Depending on when the application should be started, you must create a startup item (started when the Mac boots) or a login item (launched when a user logs in). See "this blog post":http://mattdanger.net/2009/01/scripting-login-tasks-in-mac-os-x/ for an explanation of the latter. There is no builtin support from Qt's side on this, as it is more a matter of installers and the like.

    Additional comments:
    Be sure to read and understand the deployment hints on the "general instructions":http://doc.qt.nokia.com/4.7/deployment.html as well as on the platform specific docs listed at the end of the linked page.



  • Thanks Andre and Volker..

    Volker Regarding No 2: on the page of download link, are you referring to "Qt libraries 4.7.3 for Mac" on the right side of the page (i.e. Qt Framework only) or the full SDK on the left?

    Kashif



  • The framework only. That's sufficient, as you happen to have Creator already.



  • Thanks Volker,

    And for windows also, I will have to download the framework only if i have the Creator already?

    Kashif



  • Yep. But watch out for the right version (MSVS 2008 or MinGW!)



  • Thanks Volker,

    Earlier today, i downloaded the Qt SDK for windows, and tried to install it.. it got installed 75% and then some strange errors started coming on like:

    9
    .
    .
    .
    .8.
    .
    .
    ..
    7
    .
    .
    .
    .
    .
    and so on..

    It installed examples, Creator etc, but was not going further on installation. I opened creator and tried to run an example, but it said it can't find the QMake... This thing annoyed me for most of the time and i couldn't get any result out of it.. Can you elaborate this? I just want to get started with the Qt, and a lot of problems are coming forth..

    Kashif



  • I think the countdown of numbers is supposed to be there, it's not an error. At least when I'm installing, it countdowns and when reached 0, the installation is ready and working. Installation only needs patience, that might take a while to finish.



  • Thanks matrixx..

    But the issue is that the countdown repeat some more than 4 times, and was continuing again.. is it the right behavior?

    Kashif



  • Ok, I'm not sure about that. I've seen the numbers only once when installing some older SDK. And to be honest, when installing latest SDK 1.1 I didn't follow the installation process at all, just left it to finish by itself when cooking meanwhile.



  • Did you do it for windows? I can't get it running at any cost.. For Mac, will I have to download the build and Interface Tools (206 MB) or the libs only (422 MB) binary package from here: http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x

    Kashif



  • Mine was for 64-bit windows, don't know anything about Macs :)



  • Ok, i have installed the mac framework libraries and installed Qt Creator as well.. Now when i try to build the localfortuneserver example, it says "Could not find the Make command to build the project"..

    Can anybody help me with that?

    Kashif



  • Did you install XCode?



  • Well i am using Mac in VMWare for the first time and don't know.. Can you guide on how to check if it is installed or not? and how to install it?

    Kashif



  • Then it's probably not installed. Go and download it from Apple's "XCode page":http://developer.apple.com/xcode/

    Go with XCode 3 - the link is at the bottom of the right column. You will need to setup an Apple ID. More info on Qt's "Developing Qt Applications for Mac OS X":http://doc.qt.nokia.com/4.7/developing-on-mac.html. I don't know if XCode 4 is yet supported, but I suppose not.

    BTW: It's not allowed to run Mac OS X Desktop version in a virtual machine.



  • Volker, it is my first time when I am using Mac..and I dont have Mac with me, thats y i am using VM ware.. Can you tell me why are referring xCode 3? any specific reason? I am reading the article QT programming for Mac..

    Kashif



  • (1) On windows, i downloaded the framework and tried to install and it said that it cant find mingw.. and directed me towards SDLK installation. I installed the SDK, now i can build QT examples, and the .exe is generated in the respective folder. But when I double click this exe to run, it says "The applicaiton has failed to start because mingwm10.dll was not found. Re-installing the application may fix this problem".. Any help?

    (2) Also, after (1) is fixed, if i take this exe to some other system, where QT framework or SDK is not installed, will it work or not?



  • Regarding 2: You must deliver all the needed libs, including MinGW DLLs. Please refer to the deployment pages linked earlier in this thread.



  • This is somewhat surprising me.. On windows, when i develop applications using Visual C++ (no Qt involved), I simple build the whole project as using in a static library, and as a result, I just deploy the single Exe of my applicaiton; no dll, no lib attached.. I wonder how it is not possible in Qt?

    Kahsif



  • Static linking is not always the best solution. In fact, it is not supported for Qt Webkit module, so this might not work correctly in that case. And you might have problems with Qt plugins too.

    Also, you have to keep in mind the licensing issues (please search the forums, it was discussed recently). The base line is that static linking against Qt most probably forces you to release the source code of your app under GPL (but I'm not a lawyer!).

    On the mac, one can put all the libraries into the application bundle and that's it. The bundle appears like a single file to the user, there's hardly any installer needed (and in fact Mac users do not like them).



  • Volker thank you so much for such an informative reply.. Just one more favour.. how do i know which libraries will be needed?

    One more thing: if i bundle the libraries into the application bundle, will the application work if Qt is not installed on Mac?

    Kashif



  • If you put the framework bundles into the app bundle, then it runs on a Qt-less mac box too.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.