How do I compile my Qt Application for different systems?



  • I've been using QExtSerialPort, and for some reason when I run and compile where I wrote the code (64 bit machine), it writes signals to the Arduino board. When I take the executable and its dependencies to another system, the signals are then not written to the Arduino board.

    I suspect it may be because the app is compiled in a 64 bit machine and not in a 32 bit machine. Has this occured to any one of you guys?

    Also, how do I compile it for a 32 bit computer?

    Thank you in advance.


  • Moderators

    Hi,

    some details on OS, IDE and compiler would be helpful for specific advice. Otherwise we need a crystal ball ;-)



  • I apologize. The OS is Windows, I am using the Qt Creator and it's using the Microsoft Visual C++ Compiler 10.0. Let me know if you require any further information.

    I wrote a bit more information about bringing up the error here: http://stackoverflow.com/questions/10723815/qt-qextserialport-unable-to-write-when-a-different-environment-is-used


  • Moderators

    AFAIK are the compilations using msvc compiler per default for 32 bit regardless of the operation system you are building on.
    What makes you believe that you compile as 64 bit?
    However, if I interpret your post correctly, you are able to start the application on 32 bit anyhow. So, it should be a 32 bit application then.
    You rule out a driver problem because you can use with C#.
    However, could it be a different driver?
    There is "another option for using serial devices":http://qt-project.org/forums/viewthread/16949/ with Qt.



  • What do you mean by a different driver?



  • by Default with VC both compilers will get installed (or check out using VC setup) so you may setup the compiler x86, whether it is 32 bit or 64 bit OS machine. ie on 32 bit machine you can compile 64 bit app using VC x64 compiler, similarly on 32 bit you can compile x64 app,


Log in to reply
 

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