Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: sersar от Август 20, 2008, 13:14



Название: Console application
Отправлено: sersar от Август 20, 2008, 13:14
Пишу Qtcpserver.

Собрал на домашнем компьютере: VirtualBox 1.6.4 + kUbuntu 8.0.4 + qt-embedded-linux-opensource-src-4.4.1.

Собрал Qt статическую.

Скомпилировал приложение на примере FortuneServer. Всё работает.

Заливаю файл на сервер (ОС CentOS 4 Enterprise Linux). Запускаю файл. Выдаёт ошибку: ./server: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./server). Добавь библиотеку немогу(!)

Что можно сделать? Как собрать Qt только для консольного приложения?


Название: Re: Console application
Отправлено: Admin от Август 20, 2008, 13:27
у вас отличаются версии libc

выходы:
1) поставить дома такую же OS как на сервере
2) компилировать не на домашнем компе, а на сервере
3) собрать ВСЕ статически - не завися от libc


Название: Re: Console application
Отправлено: sersar от Август 20, 2008, 13:34
у вас отличаются версии libc

выходы:
1) поставить дома такую же OS как на сервере
2) компилировать не на домашнем компе, а на сервере
3) собрать ВСЕ статически - не завися от libc
Можете рассказать о третьем варианте поподробнее? Уже неделю немогу собрать так как надо :(


Название: Re: Console application
Отправлено: Admin от Август 20, 2008, 13:45
я щас попробовал
написал
Код:
#include <stdio.h>

int main()
{
    printf("Hello, world\n");
}

компилял

g++ main.cpp    - получился a.out размером 6K

g++ -static main.cpp  - получился a.out размером 600K


последний как раз и является статическим и пойдет везде

PS: QT и другие либы тоже нужно будет пересобрать с -static