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

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

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

есть консольная прога.
под виндой запускаю с либами
libeay32.dll
libgcc_s_dw2-1.dll
libssl32.dll
mingwm10.dll
QtCore4.dll
QtNetwork4.dll
ssleay32.dll

вопросы:
1. можно под виндой собрать прогу для linux debian? если можно, то как?
2. если я собираю под ubuntu, будет ли работать под debian?
3. аналоги перечисленных либ под linux так же называются? какое у них расширение?
4. прогу собрал, либы нашел. как запустить программу на сервере через ssh? можно в любую папку скопировать, зайти через ssh в эту папку и просто ввести имя программы для запуска? или нужно в какую-то конкретную (конкретные) папку кидать пользовательские программы на linux debian server?
5. или может как-то проще все можно сделать? цель - запустить консольную программу на серваке с дебиан.

хелппп
« Последнее редактирование: Февраль 20, 2012, 19:21 от thechicho » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


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

1. В виртуалке.
2. От многого зависит.
3. Не так. Расширение .so. Но либы с собой лучше не таскать, а юзать системные.
4. Запускать можно откуда угодно.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


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

Цитировать
5. или может как-то проще все можно сделать? цель - запустить консольную программу на серваке с дебиан.
На сервак установить Qt, gcc и т.п., подключиться через ssh, собрать там прогу, запустить прогу. Профит!
Записан

ArchLinux x86_64 / Win10 64 bit
thechicho
Гость
« Ответ #3 : Февраль 15, 2012, 17:53 »

сенкс за ответы!
//2. От многого зависит.
фигово... хотя в принципе можно же на серваке кьют установить и прямо там собрать?
//3. Не так. Расширение .so. Но либы с собой лучше не таскать, а юзать системные.
а как распространять? заставлять каждого устанавливать кьют? проще же кинуть нужные либы с прогой.
//На сервак установить Qt, gcc и т.п., подключиться через ssh, собрать там прогу, запустить прогу. Профит!
ага. только проблема остается как заставить работать на другом серваке без кьют. без установки кьют. подскажи плиз аналоги названия либам, что я выше привел и где их искать? Строит глазки
Записан
thechicho
Гость
« Ответ #4 : Февраль 15, 2012, 18:00 »

еще два вопроса:
1. если я поставлю на серваке своем кьют, соберу там. найду нужные либы с расширением .so. скину все в один каталог. закину на сервер без кьют, прога будет работать?
2. я через ssh (putty) запускаю прогу, она начинает работать и дебажить в консоль. если я закрываю консоль (putty), то прога продолжит работать в фоне или вылетит?!
Записан
sudo
Гость
« Ответ #5 : Февраль 15, 2012, 18:07 »

еще два вопроса:
1. если я поставлю на серваке своем кьют, соберу там. найду нужные либы с расширением .so. скину все в один каталог. закину на сервер без кьют, прога будет работать?
2. я через ssh (putty) запускаю прогу, она начинает работать и дебажить в консоль. если я закрываю консоль (putty), то прога продолжит работать в фоне или вылетит?!

1. Нужные либы тоже зависят от каких-то нужных им либ, поэтому не факт
2. Пиши ./MyProgram &
Записан
thechicho
Гость
« Ответ #6 : Февраль 15, 2012, 18:15 »

// 1. Нужные либы тоже зависят от каких-то нужных им либ, поэтому не факт
 Шокированный но для винды достаточно тех либ для работы, что я выше привел...
// 2. Пиши ./MyProgram &
расскажи плиз поподробнее что за команда или где про нее можно прочесть. сходу не соображу как в гугле найти такую кострукцию.
Записан
sudo
Гость
« Ответ #7 : Февраль 15, 2012, 18:19 »

// 1. Нужные либы тоже зависят от каких-то нужных им либ, поэтому не факт
 Шокированный но для винды достаточно тех либ для работы, что я выше привел...
// 2. Пиши ./MyProgram &
расскажи плиз поподробнее что за команда или где про нее можно прочесть. сходу не соображу как в гугле найти такую кострукцию.

Насчёт либ - я так делать не пробовал, категорично заявлять не могу
& при запуске отвязывает приложение от терминала, в котором оно было запущено. Если просто запустить своё приложение (./MyProgram), то при закрытии терминала завершится и само приложение. Если добавить & (./MyProgram &), приложение от терминала отвяжется и продолжит работать после закрытия терминала
Записан
thechicho
Гость
« Ответ #8 : Февраль 15, 2012, 18:33 »

понял, сенкс.
Записан
thechicho
Гость
« Ответ #9 : Февраль 16, 2012, 19:06 »

ребят, помогите установить кьют

сделал так apt-get install qt4-dev-tools

пытаюсь собрать прогу
Код:
/usr/include/qt4/QtCore/qstring.h:1003:   instantiated from here
/usr/include/c++/4.3/bits/stl_iterator.h:676: error: no type named 'difference_type' in 'struct std::iterator_traits<wchar_t*>'
/usr/include/c++/4.3/bits/stl_iterator.h:727: error: no type named 'difference_type' in 'struct std::iterator_traits<wchar_t*>'
/usr/include/c++/4.3/bits/stl_iterator.h:731: error: no type named 'difference_type' in 'struct std::iterator_traits<wchar_t*>'
/usr/include/c++/4.3/bits/stl_iterator.h:735: error: no type named 'difference_type' in 'struct std::iterator_traits<wchar_t*>'
/usr/include/c++/4.3/bits/stl_iterator.h:739: error: no type named 'difference_type' in 'struct std::iterator_traits<wchar_t*>'
/usr/include/c++/4.3/bits/stl_iterator.h:743: error: no type named 'difference_type' in 'struct std::iterator_traits<wchar_t*>'
In file included from /usr/include/qt4/QtCore/qdebug.h:42,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/qt4/QtCore/qhash.h:313: error: 'ptrdiff_t' does not name a type
/usr/include/qt4/QtCore/qhash.h:378: error: 'ptrdiff_t' does not name a type
/usr/include/qt4/QtCore/qhash.h:462: error: 'ptrdiff_t' does not name a type
In file included from /usr/include/c++/4.3/map:65,
                 from /usr/include/qt4/QtCore/qmap.h:46,
                 from /usr/include/qt4/QtCore/qdebug.h:44,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/c++/4.3/bits/stl_tree.h:158: error: 'ptrdiff_t' does not name a type
/usr/include/c++/4.3/bits/stl_tree.h:230: error: 'ptrdiff_t' does not name a type
/usr/include/c++/4.3/bits/stl_tree.h:339: error: 'ptrdiff_t' does not name a type
In file included from /usr/include/qt4/QtCore/qdebug.h:44,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/qt4/QtCore/qmap.h:196: error: 'ptrdiff_t' does not name a type
/usr/include/qt4/QtCore/qmap.h:264: error: 'ptrdiff_t' does not name a type
/usr/include/qt4/QtCore/qmap.h:367: error: 'ptrdiff_t' does not name a type
In file included from /usr/include/c++/4.3/vector:70,
                 from /usr/include/qt4/QtCore/qvector.h:48,
                 from /usr/include/qt4/QtCore/qdebug.h:48,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/c++/4.3/bits/stl_vector.h:198: error: 'ptrdiff_t' does not name a type
In file included from /usr/include/c++/4.3/vector:71,
                 from /usr/include/qt4/QtCore/qvector.h:48,
                 from /usr/include/qt4/QtCore/qdebug.h:48,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/c++/4.3/bits/stl_bvector.h:111: error: template argument 3 is invalid
/usr/include/c++/4.3/bits/stl_bvector.h:140: error: 'ptrdiff_t' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'void std::_Bit_iterator_base::_M_incr(int)':
/usr/include/c++/4.3/bits/stl_bvector.h:142: error: 'difference_type' was not declared in this scope
/usr/include/c++/4.3/bits/stl_bvector.h:142: error: expected `;' before '__n'
/usr/include/c++/4.3/bits/stl_bvector.h:143: error: '__n' was not declared in this scope
/usr/include/c++/4.3/bits/stl_bvector.h: At global scope:
/usr/include/c++/4.3/bits/stl_bvector.h:182: error: expected initializer before 'operator'
/usr/include/c++/4.3/bits/stl_bvector.h:234: error: declaration of 'operator+=' as non-function
/usr/include/c++/4.3/bits/stl_bvector.h:234: error: expected ';' before '(' token
/usr/include/c++/4.3/bits/stl_bvector.h:240: error: expected `;' before 'iterator'
/usr/include/c++/4.3/bits/stl_bvector.h:241: error: declaration of 'operator-=' as non-function
/usr/include/c++/4.3/bits/stl_bvector.h:241: error: expected ';' before '(' token
/usr/include/c++/4.3/bits/stl_bvector.h:247: error: expected `;' before 'iterator'
/usr/include/c++/4.3/bits/stl_bvector.h:248: error: 'difference_type' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h:255: error: 'difference_type' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h:262: error: 'difference_type' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'std::_Bit_iterator std::_Bit_iterator::operator+(int) const':
/usr/include/c++/4.3/bits/stl_bvector.h:251: error: no match for 'operator+=' in '__tmp += __i'
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'std::_Bit_iterator std::_Bit_iterator::operator-(int) const':
/usr/include/c++/4.3/bits/stl_bvector.h:258: error: no match for 'operator-=' in '__tmp -= __i'
/usr/include/c++/4.3/bits/stl_bvector.h: At global scope:
/usr/include/c++/4.3/bits/stl_bvector.h:267: error: declaration of 'operator+' as non-function
/usr/include/c++/4.3/bits/stl_bvector.h:267: error: 'ptrdiff_t' was not declared in this scope
/usr/include/c++/4.3/bits/stl_bvector.h:267: error: expected primary-expression before 'const'
/usr/include/c++/4.3/bits/stl_bvector.h:320: error: declaration of 'operator+=' as non-function
/usr/include/c++/4.3/bits/stl_bvector.h:320: error: expected ';' before '(' token
/usr/include/c++/4.3/bits/stl_bvector.h:326: error: expected `;' before 'const_iterator'
/usr/include/c++/4.3/bits/stl_bvector.h:327: error: declaration of 'operator-=' as non-function
/usr/include/c++/4.3/bits/stl_bvector.h:327: error: expected ';' before '(' token
/usr/include/c++/4.3/bits/stl_bvector.h:333: error: expected `;' before 'const_iterator'
/usr/include/c++/4.3/bits/stl_bvector.h:334: error: 'difference_type' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h:341: error: 'difference_type' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h:348: error: 'difference_type' has not been declared
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'std::_Bit_const_iterator std::_Bit_const_iterator::operator+(int) const':
/usr/include/c++/4.3/bits/stl_bvector.h:337: error: no match for 'operator+=' in '__tmp += __i'
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'std::_Bit_const_iterator std::_Bit_const_iterator::operator-(int) const':
/usr/include/c++/4.3/bits/stl_bvector.h:344: error: no match for 'operator-=' in '__tmp -= __i'
/usr/include/c++/4.3/bits/stl_bvector.h: At global scope:
/usr/include/c++/4.3/bits/stl_bvector.h:353: error: declaration of 'operator+' as non-function
/usr/include/c++/4.3/bits/stl_bvector.h:353: error: 'ptrdiff_t' was not declared in this scope
/usr/include/c++/4.3/bits/stl_bvector.h:353: error: expected primary-expression before 'const'
/usr/include/c++/4.3/bits/stl_bvector.h:485: error: 'ptrdiff_t' does not name a type
/usr/include/c++/4.3/bits/stl_iterator_base_types.h: In instantiation of 'std::iterator_traits<std::_Bit_iterator>':
/usr/include/c++/4.3/bits/stl_iterator.h:108:   instantiated from 'std::reverse_iterator<std::_Bit_iterator>'
/usr/include/c++/4.3/bits/stl_bvector.h:605:   instantiated from here
/usr/include/c++/4.3/bits/stl_iterator_base_types.h:133: error: no type named 'iterator_category' in 'struct std::_Bit_iterator'
/usr/include/c++/4.3/bits/stl_iterator_base_types.h:134: error: no type named 'value_type' in 'struct std::_Bit_iterator'
/usr/include/c++/4.3/bits/stl_iterator_base_types.h:135: error: no type named 'difference_type' in 'struct std::_Bit_iterator'
/usr/include/c++/4.3/bits/stl_iterator_base_types.h: In instantiation of 'std::iterator_traits<std::_Bit_const_iterator>':
/usr/include/c++/4.3/bits/stl_iterator.h:108:   instantiated from 'std::reverse_iterator<std::_Bit_const_iterator>'
/usr/include/c++/4.3/bits/stl_bvector.h:609:   instantiated from here
/usr/include/c++/4.3/bits/stl_iterator_base_types.h:133: error: no type named 'iterator_category' in 'struct std::_Bit_const_iterator'
/usr/include/c++/4.3/bits/stl_iterator_base_types.h:134: error: no type named 'value_type' in 'struct std::_Bit_const_iterator'
/usr/include/c++/4.3/bits/stl_iterator_base_types.h:135: error: no type named 'difference_type' in 'struct std::_Bit_const_iterator'
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'size_t std::vector<bool, _Alloc>::max_size() const':
/usr/include/c++/4.3/bits/stl_bvector.h:645: error: 'difference_type' was not declared in this scope
/usr/include/c++/4.3/bits/stl_bvector.h:645: error: template argument 1 is invalid
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'std::_Bit_iterator std::vector<bool, _Alloc>::insert(std::_Bit_iterator, const bool&)':
/usr/include/c++/4.3/bits/stl_bvector.h:758: error: 'difference_type' does not name a type
/usr/include/c++/4.3/bits/stl_bvector.h:764: error: '__n' was not declared in this scope
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'void std::vector<bool, _Alloc>::resize(size_t, bool)':
/usr/include/c++/4.3/bits/stl_bvector.h:804: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/stl_bvector.h: In member function 'void std::vector<bool, _Alloc>::_M_initialize(size_t)':
/usr/include/c++/4.3/bits/stl_bvector.h:841: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
In file included from /usr/include/c++/4.3/vector:74,
                 from /usr/include/qt4/QtCore/qvector.h:48,
                 from /usr/include/qt4/QtCore/qdebug.h:48,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/c++/4.3/bits/vector.tcc: In member function 'void std::vector<bool, _Alloc>::_M_fill_insert(std::_Bit_iterator, size_t, bool)':
/usr/include/c++/4.3/bits/vector.tcc:566: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/vector.tcc:567: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/vector.tcc:568: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/vector.tcc:577: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/vector.tcc:579: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/vector.tcc: In member function 'void std::vector<bool, _Alloc>::_M_insert_range(std::_Bit_iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag)':
/usr/include/c++/4.3/bits/vector.tcc:602: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
/usr/include/c++/4.3/bits/vector.tcc:604: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available
In file included from /usr/include/qt4/QtCore/qdebug.h:48,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/qt4/QtCore/qvector.h: At global scope:
/usr/include/qt4/QtCore/qvector.h:249: error: 'ptrdiff_t' does not name a type
In file included from /usr/include/qt4/QtCore/qdebug.h:49,
                 from /usr/include/qt4/QtCore/QDebug:1,
                 from main.cpp:2:
/usr/include/qt4/QtCore/qset.h:94: error: 'ptrdiff_t' does not name a type
/usr/include/qt4/QtCore/qset.h:129: error: 'ptrdiff_t' does not name a type
/usr/include/qt4/QtCore/qset.h:185: error: 'ptrdiff_t' does not name a type
In file included from thread.h:10,
                 from main.cpp:6:
functions.h:1: error: 'ifndef' does not name a type
main.cpp: In function 'int main(int, char**)':
main.cpp:10: error: 'QCoreApplication' was not declared in this scope
main.cpp:10: error: expected `;' before 'a'
make: *** [main.o] Error 1
это потому что, установилась qt 4.3 , а я писал на 4.7.4 ?
если да, то как мне установить пакет с новой версией кьют? старую удалить надо или как
http://packages.qa.debian.org/q/qt4-x11.html
вот тут есть
testing 4:4.7.4-2
unstable 4:4.7.4-2
exp 4:4.8.0-1

если я установлю 4.7.4 у меня соберется прога?
красноглазики, хелп плиз
« Последнее редактирование: Февраль 17, 2012, 09:27 от Пантер » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


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

это потому что, установилась qt 4.3 , а я писал на 4.7.4 ?

с чего ты взял? Установилась 4.7. Напиши простейший пример на Qt и посмотри скомпилится он или нет. Если да, то без исходников твоей программы сложно сказать. Поверхностно видно, что не подключен stddef.h, но без исходников это, опять же, вилами по воде.

P.S. Debian Squeeze?
Записан
thechicho
Гость
« Ответ #11 : Февраль 16, 2012, 19:43 »

//с чего ты взял?
/usr/include/c++/4.3
это версия компилятора?

debian lenny

написал, скомпилилось.
Код
C++ (Qt)
#include <QtCore/QCoreApplication>
#include <iostream>
 
int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);
 
   std::string strIn;
   std::cin >> strIn;
   std::cout << strIn << std::endl;
 
   return 0;
   //return a.exec();
}

//Поверхностно видно, что не подключен stddef.h
мой проект под виндой компилится... под линукс надо по-другому чтоле собирать Шокированный

.pro
Код
C++ (Qt)
QT       += core network
 
QT       -= gui
 
TARGET = gpc
CONFIG   += console
CONFIG   -= app_bundle
 
TEMPLATE = app
 
 
SOURCES += main.cpp \
   thread.cpp \
   functions.cpp
 
HEADERS += thread.h \
   functions.h
 
//INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/zlib
заменил на
INCLUDEPATH += /usr/include

main.cpp
Код
C++ (Qt)
#include <QtCore/QCoreApplication>
#include <QDebug>
#include <iostream>
#include <QTextCodec>
 
#include "thread.h"
 
int main(int argc, char *argv[]) //
{
   QCoreApplication a(argc, argv);
 
   QTextCodec *codec = QTextCodec::codecForName("UTF-8");
   QTextCodec::setCodecForCStrings(codec);
   QTextCodec::setCodecForLocale(codec);
   //QTextCodec::setCodecForTr(codec);
 
   QTextStream out(stdout);
   QTextStream in(stdin);
if (argc == 2) {
       QString command = argv[1];
       if (command == "start") {
           //qDebug() << "do thread";
           googlePositionCheckerThread thread;
           thread.start();            
           thread.wait();
           //qDebug() << "posle thread";
 
           return 0;
       } else if (command == "stop") {
           // как-то остановить, но не выйти!
           // вернуть управление в консоль
       } else if (command == "exit" || command == "quit") {
           return 0;
       }
   } else {
       // ничего не делать, программа не должна завершиться
       //return 0; не?
   }
 
   return 0;
}
« Последнее редактирование: Февраль 16, 2012, 19:46 от thechicho » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


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

выложи проект целиком в архиве
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


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

/usr/include/c++/4.3
это версия компилятора?

да
Записан
thechicho
Гость
« Ответ #14 : Февраль 16, 2012, 19:57 »

во, прикол.
main.cpp был в UTF-8
перекодировал в UTF-8 без 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
In file included from thread.h:10,
                 from main.cpp:6:
functions.h:1: error: stray '\357' in program
functions.h:1: error: stray '\273' in program
functions.h:1: error: stray '\277' in program
functions.h:1: error: stray '#' in program
In file included from thread.h:10,
                 from main.cpp:6:
functions.h:70:2: error: #endif without #if
functions.h:1: error: 'ifndef' does not name a type
make: *** [main.o] Error 1
« Последнее редактирование: Февраль 17, 2012, 09:28 от Пантер » Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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