Я написал простое приложение вот его код
#include <QCoreApplication>
#include <QFile>
#include <QIODevice>
#include <QTextStream>
#include <iostream>
int main(int argc, char *argv[])
{
//QCoreApplication app(argc,argv);
std::cout <<"Hello"<<std::endl;
QFile file("/dev/ttyS0");
if (file.open(QIODevice::ReadWrite))
{
QTextStream out(&file);
out<<"hello"<<endl;
file.close();
}
}
вот соответствующий ему файл pro
######################################################################
# Automatically generated by qmake (2.01a) ?? ???. 28 15:35:34 2007
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += console
# Input
SOURCES += main.cpp
затем командой ldd <имя приложения> выводится список используемых библиотек, он таков
linux-gate.so.1 => (0x00cc7000)
libQtGui.so.4 => /usr/local/Trolltech/Qt-4.2.1/lib/libQtGui.so.4 (0x00178000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00c89000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x0013e000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x00122000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x0302a000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x00caf000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x00d02000)
libXfixes.so.3 => /usr/X11R6/lib/libXfixes.so.3 (0x00111000)
libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x00ce5000)
libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x00cfd000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00c10000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00801000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x00bc8000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00af2000)
libQtCore.so.4 => /usr/local/Trolltech/Qt-4.2.1/lib/libQtCore.so.4 (0x0082b000)
libz.so.1 => /usr/lib/libz.so.1 (0x00add000)
libdl.so.2 => /lib/libdl.so.2 (0x00ad7000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00bd9000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00d08000)
libm.so.6 => /lib/libm.so.6 (0x00ab0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00cf1000)
libc.so.6 => /lib/libc.so.6 (0x00de7000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x00bed000)
/lib/ld-linux.so.2 (0x0014c000)
Почему используются всякие иксовые библиотеки. Как от этого избавиться, ведь я хочу написать консольное приложение которое будет работать только в командной строке на компьютере без иксов
Всёж в линухе есть тут нелогичность. Само приложение тянет все СОшки, вместо того чтобы тянуть только нужные, а уж они пусть свои зависимости тянут.
Вручную поди угадай какие libICE, libXi и прочие libXхххх тянет твоя qt GUI. Особенно печально при переносе бинарника на другой линух.
В pro файле
QT -= gui
Спасибо, помогло. Список требуемых библиотек значительно сократился.
linux-gate.so.1 => (0x00be4000)
libQtCore.so.4 => /usr/local/Trolltech/Qt-4.2.1/lib/libQtCore.so.4 (0x002de000)
libz.so.1 => /usr/lib/libz.so.1 (0x00add000)
libdl.so.2 => /lib/libdl.so.2 (0x00ad7000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00111000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00d08000)
libm.so.6 => /lib/libm.so.6 (0x00ab0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00cf1000)
libc.so.6 => /lib/libc.so.6 (0x00986000)
/lib/ld-linux.so.2 (0x0014c000)