troll |
|
Темы:
22
Сообщения:
67
Участник с: 19 февраля 2007
|
Есть такой замечательный p2p-клиент - Hydranode. Поддерживает eDonkey, Torrent и еще что-то. Использует Qt4 и boost. Разделена на две части - core и gui. Core может исполняться на удаленной машине. В общем, отличная штука. Очень нехватает сворачивания в системный трей. Решил написать его сам. А то что-то проект давно не обновлялся - не думаю что можно надеятся на скорое появление этой фичи. Скачал исходники, проверил что все зависимости удовлетворены, решил для начала просто скомпилировать их и сразу же наткнулся на ошибки. После пяти минут компиляции вываливается следующее: $ bjam release …patience… …found 1052 targets… …updating 78 targets… gcc.compile.c++ bin/hnbase/gcc/release/threading-multi/config.o hnbase/config.cpp: In member function ‘virtual void Config::load(const std::string&)’: hnbase/config.cpp:57: ошибка: нет декларации ‘logWarning’ в этой области видимости hnbase/config.cpp: In member function ‘virtual void Config::save(const std::string&) const’: hnbase/config.cpp:114: ошибка: нет декларации ‘logError’ в этой области видимости “g++” -Wall -ftemplate-depth-100 -O3 -finline-functions -Wno-inline -fPIC -Wno-long-long -pedantic -pthread -DBUILDING_HNBASE -DNDEBUG -D_FILE_OFFSET_BITS=64 -D_INTEGRAL_MAX_BITS=64 -D_LARGE_FILES -I“.” -I“/home/were/boost_1_33_1” -c -o “bin/hnbase/gcc/release/threading-multi/config.o” “hnbase/config.cpp” …failed gcc.compile.c++ bin/hnbase/gcc/release/threading-multi/config.o… gcc.compile.c++ bin/hnbase/gcc/release/threading-multi/hash.o ./hnbase/hash.h: In constructor ‘HashSet<HashType, FileHashType, ChunkSize>::HashSet(std::istream&)’: ./hnbase/hash.h:384: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’ ./hnbase/hash.h:384: ошибка: (с ключом ‘-fpermissive’, G++ примет данный код, но разрешение использовать недекларированные имена будет отменено в дальнейших версиях) ./hnbase/hash.h:394: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’ ./hnbase/hash.h:409: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’ ./hnbase/hash.h:423: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’ ./hnbase/hash.h:435: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’ ./hnbase/hash.h:450: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’ ./hnbase/hash.h: In constructor ‘HashSet<HashType, FileHashType, ChunkSize>::HashSet(std::istream&) ’: hnbase/hash.cpp:82: instantiated from here ./hnbase/hash.h:381: ошибка: нет декларации ‘logError’ в этой области видимости hnbase/hash.cpp:82: instantiated from here ./hnbase/hash.h:389: ошибка: нет декларации ‘logError’ в этой области видимости hnbase/hash.cpp:82: instantiated from here ./hnbase/hash.h:401: ошибка: нет декларации ‘logError’ в этой области видимости hnbase/hash.cpp:82: instantiated from here ./hnbase/hash.h:418: ошибка: нет декларации ‘logError’ в этой области видимости ./hnbase/hash.h:430: ошибка: нет декларации ‘logError’ в этой области видимости hnbase/hash.cpp:82: instantiated from here И т.д. Приходится нажимать Ctrl+C, иначе ошибки будут лезть довольно долго. Никак не пойму откуда ‘logError’, ‘logWarning’ и прочее. Ругается именно на них. Неужели девелоперы забыли написать о каких-то зависимостях? Гугл посылает на сайт IBM - ничего полезного. |
troll |
|
Темы:
22
Сообщения:
67
Участник с: 19 февраля 2007
|
Нет, оказывается с зависимостями все нормально. Покопался в исходниках, оказывается косяк в них. Вызывают нестатический метод класса не через указатель или ссылку, а прямо так вот, в коде. Непонятно как у них оно собиралось. Мож кто посмотрит? |
zeus |
|
Темы:
95
Сообщения:
1094
Участник с: 28 октября 2006
|
mldonkey чем не устроил? |
troll |
|
Темы:
22
Сообщения:
67
Участник с: 19 февраля 2007
|
Тема в общем-то о Hydranode, ну да ладно. Тем что консольный. Мне нужен eDonkey клиент с gtk2/qt4 мордой и не перегруженным интерфейсом (как в aMule). |
zeus |
|
Темы:
95
Сообщения:
1094
Участник с: 28 октября 2006
|
mldonkey это демон. к нему дофигища гуев, включая вебморду, kmldonkey…. |
troll |
|
Темы:
22
Сообщения:
67
Участник с: 19 февраля 2007
|
Ни вебморда ни kmldonkey мне не нужны. Только gtk2/qt4 интерфейс. http://mldonkey.sourceforge.net/Gui Судя по этому списку ничего подходящего нет. Давайте не разводить оффтоп. Топик называется Hydranode. |