Russian Qt Forum
Ноябрь 24, 2024, 08:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: [РЕШЕНО] как запустить на сервере linux debian  (Прочитано 17286 раз)
thechicho
Гость
« Ответ #15 : Февраль 16, 2012, 20:02 »

functions.h так же сделал без BOM
ща так

Код:

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtNetwork -I/usr/include/qt4 -I/usr/include -I. -I. -o main.o main.cpp
In file included from main.cpp:6:
thread.h:8:25: error: QElapsedTimer: No such file or directory
make: *** [main.o] Error 1
почему компилятор не может парсить utf-8?
я под виндой собираю на minGW и норм...
может компилятор другой установить? В замешательстве
« Последнее редактирование: Февраль 17, 2012, 09:29 от Пантер » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #16 : Февраль 16, 2012, 20:05 »

QElapsedTimer появился только в 4.7.
Записан
thechicho
Гость
« Ответ #17 : Февраль 16, 2012, 20:09 »

ага ща тоже в доке посмотрел.
т.е. версия кьют установилась не 4.7.4 как я и думал...
как обновить?
http://packages.qa.debian.org/q/qt4-x11.html
вот здесь в тестинг она есть, как ее установить правильно подскажи плиз?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #18 : Февраль 16, 2012, 20:11 »

почему компилятор не может парсить utf-8?
я под виндой собираю на minGW и норм...
может компилятор другой установить? В замешательстве

Насколько я помню это implementation defined, и хранение utf8 символов прямо в коде чревато проблемами с переносимостью.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #19 : Февраль 16, 2012, 20:15 »

ага ща тоже в доке посмотрел.
т.е. версия кьют установилась не 4.7.4 как я и думал...
как обновить?
http://packages.qa.debian.org/q/qt4-x11.html
вот здесь в тестинг она есть, как ее установить правильно подскажи плиз?

фактически никак, проще переписать код без этого класса. Раз его добавили только в 4.7, то, очевидно, как-то раньше без него обходились.
Записан
thechicho
Гость
« Ответ #20 : Февраль 16, 2012, 20:24 »

в смысле никак? Шокированный
из исходников то можно надеюсь собрать будет?

еще ошибки


Код:
functions.cpp:311: error: no matching function for call to 'QByteArray::append(char [1024], unsigned int)'
/usr/include/qt4/QtCore/qbytearray.h:210: note: candidates are: QByteArray& QByteArray::append(char)
/usr/include/qt4/QtCore/qbytearray.h:211: note:                 QByteArray& QByteArray::append(const char*)
/usr/include/qt4/QtCore/qbytearray.h:212: note:                 QByteArray& QByteArray::append(const QByteArray&)
/usr/include/qt4/QtCore/qstring.h:939: note:                 QByteArray& QByteArray::append(const QString&)


functions.cpp:687: error: 'currentMSecsSinceEpoch' is not a member of 'QDateTime'
« Последнее редактирование: Февраль 17, 2012, 09:29 от Пантер » Записан
thechicho
Гость
« Ответ #21 : Февраль 16, 2012, 20:32 »

Код
C++ (Qt)
QByteArray Functions::uncompress(const QByteArray &data)
{
   if (data.size() <= 4) {
       qWarning("uncompress: Input data is truncated");
       return QByteArray();
   }
 
   QByteArray result;
 
   int ret;
   z_stream strm;
   static const int CHUNK_SIZE = 1024;
   char out[CHUNK_SIZE];
 
   /* allocate inflate state */
   strm.zalloc = Z_NULL;
   strm.zfree = Z_NULL;
   strm.opaque = Z_NULL;
   strm.avail_in = data.size();
   strm.next_in = (Bytef*)(data.data());
 
   ret = inflateInit2(&strm, 15 +  32); // gzip decoding
   if (ret != Z_OK)
       return QByteArray();
 
   // run inflate()
   do {
       strm.avail_out = CHUNK_SIZE;
       strm.next_out = (Bytef*)(out);
 
       ret = inflate(&strm, Z_NO_FLUSH);
       Q_ASSERT(ret != Z_STREAM_ERROR);  // state not clobbered
 
       switch (ret) {
       case Z_NEED_DICT:
           ret = Z_DATA_ERROR;     // and fall through
       case Z_DATA_ERROR:
       case Z_MEM_ERROR:
           (void)inflateEnd(&strm);
           return QByteArray();
       }
 
       result.append(out, CHUNK_SIZE - strm.avail_out);
   } while (strm.avail_out == 0);
 
   // clean up and return
   inflateEnd(&strm);
   return result;
}
 
вот на это ругается
result.append(out, CHUNK_SIZE - strm.avail_out);

и на это
qsrand(QDateTime::currentMSecsSinceEpoch());

 В замешательстве
как узнать какая версия установлена ща
« Последнее редактирование: Февраль 17, 2012, 09:30 от Пантер » Записан
thechicho
Гость
« Ответ #22 : Февраль 17, 2012, 01:40 »

нашел в убунту у себя либы
/usr/lib/i386-linux-gnu

libQtCore.prl
libQtCore.so
libQtCore.so.4
libQtCore.so.4.7
libQtCore.so.4.7.4

какая между ними разница? и какая нужна для запуска проги?
Записан
thechicho
Гость
« Ответ #23 : Февраль 17, 2012, 01:56 »

http://darkk.livejournal.com/57392.html

как я понимаю, если просто либу закинуть в папку с прогой, то она не будет использоваться первичной. или вообще не будет использоваться...
как заменить мне старые либы на новые?
- удалить системные, тогда прога запуститься с либами из папки
- заменить системные
- что-то где-то прописать, создать?

//запускающий скрипт устанавливает корректную переменную LD_LIBRARY_PATH
 В замешательстве
Записан
thechicho
Гость
« Ответ #24 : Февраль 17, 2012, 02:01 »

4.4.3 ща стоит
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #25 : Февраль 17, 2012, 04:57 »

Код:
как заменить мне старые либы на новые?

Можно просто собрать Qt 4.7.4 самому из исходников
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
thechicho
Гость
« Ответ #26 : Февраль 17, 2012, 10:30 »

ага. а как в дебиан правильно указать переменную окружения с новой кьют? куда что добавить?
и получается нельзя прогу с либами в папке переносить на линукс чтоле? надо на каждой машине собирать кьют? Шокированный
Записан
Bepec
Гость
« Ответ #27 : Февраль 17, 2012, 10:44 »

Это же линукс...

Потому на него вирусняков то и нету, ибо просто "запуск программы" там такой опции нету Подмигивающий
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #28 : Февраль 17, 2012, 14:06 »

ага. а как в дебиан правильно указать переменную окружения с новой кьют? куда что добавить?
и получается нельзя прогу с либами в папке переносить на линукс чтоле? надо на каждой машине собирать кьют? Шокированный

можно, но это геморрой, и никто так не делает. Обычно собирают бинарные пакеты под каждый дистрибутив и прописывают в них зависимости. В твоём случае вполне можно обойтись и без 4.7.
Записан
thechicho
Гость
« Ответ #29 : Февраль 17, 2012, 14:31 »

а как мне собрать бинарный пакет и прописать зависимости если у ленни лежит 4.4.3, а мне нужно 4.7.4+

// В твоём случае вполне можно обойтись и без 4.7.
ага, подождать еще лет 10 пока кто-то сделает поддержку более новой либы. имею в виду бред подстраивать исходники под версию либы.
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.188 секунд. Запросов: 23.