[Solved] SerialPort Trouble



  • I'm using a TI Sitara EVM-SK and QT Creator 2.71 based on Qt 4.8.4 running on Ubuntu 12.04 32 bit.

    I'm trying to the serialport library to allow me to use a UART on my device.

    My project works if I remove any reference to the serialport libraries.

    I have added @CONFIG += serialport@ to my project file.

    I've tried following the Wiki, and I believe I have the SerialPort library installed.

    I have copied the "Include" directory into my working directory for my project. At least as far as the QT Creator IDE goes, it seems to recognize the SerialPort commands.

    I start running into trouble when I cross compile the program and try to debug it on my target device. I get the error: "error while loading shared libraries: libQtSerialPortE.so.1: cannot open shared object file: No such file or directory". My debugger immediately exits without running the program. Trying to combat this error, I have copied the file it was looking for to the same directory as the executable on the target device, but this has not made a difference.

    Trying a different approach, I tried to run the included example "Terminal", but this gives me trouble as well. When I try to debug the program, I get the error "During startup program exited with code 126".

    Any tips are appreciated.



  • please provide your steps what do you do (how you build and install qtserialport).



  • In my home folder, I've created a directory called "serialport-build". In my home folder I've also got the "qt-qtserialport" directory containing all downloaded files.

    I cd into the serialport-build directory, run the command @qmake ../qt-qtserialport/qtserialport.pro@

    then run the command make
    then sudo make install. This seemed to go through without any errors.



  • It is made on host or on target device? Do you have libQtSerialPortE.so.1 file?



  • It is made on the host. I have a libQtSerialPortE.so.1 file on my host, and I have also copied it into the same directory as the executable on the target directory (windows-style) but that did not work either.



  • In Linux a "windows-style" does not works. You should to copy your libQtSerialPortE.so.1 to Qt directory (which contains the QtCore and so on *so) on your target board. Or you can start your application on target with specify the LD_LIBRARY_PATH env. So, this issue is Linux-specific, please read about shared libraries and so on in Linux.



  • Thank you kuzulis. Copying the file to the same directory as the QtCore and other *.so files has fixed my issue.


Log in to reply
 

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