Компиляция Клиентов Dc++
Думаю, что многие видели различные версии клиентов DC++.
Однако, все эти клиенты возникли от одного праотца DC++.
Для компиляции своего клиента необходимо следующее:
1). Среда разработки Microsoft Visual Studio 2008.
2). Библиотека WTL
WTL80_sf.7z ( 823.9 килобайт )
: 191
3). Исходники клиента DC++
DCPlusPlus_0.699_src_vs9.7z ( 3.28 мегабайт )
: 194
1). Microsoft Visual Studio 2008 качаем откуда-нибудь или покупаем
2). Библиотеку WTL (Windows Template Library) распаковываем в любую папку, и после этого из этой папки копируем содержимое папки include в папку Microsoft Visual Studio/VC/include.
3). В исходниках уже создан проект, поэтому просто открываем файл DCPlusPlus.sln. После открытия компилируем проект, построенный проект после компиляции появится в папке app.
Вот и всё! Строим проект, модифицируем файлы и создаём свои моды клиента
Ну так возьми исходники новой на сайте, какие проблемы?)))))
Какая на данный момент у меня версия была, ту и выложил, а качать какую-то более новую влом было
У тех, кто компилил клиент на vs2005, прошу прощения, я не верно написал. Конечно же выложенные проекты под vs2008, а не под vs2005.
Хотя проекты под vs2005 также в этом архиве есть, но они помечены как old.
Для Линукса среды
А есть исходники под x64?
Вот зараза весь инет перерыл в поисках инфо о компиляции клиентов а она оказалась ближе чем я думал
Ммм. Дц++ конечно прапрадедушка всех клиентов и безусловно заслуживает уважения, но думаю лучше уж расписать компиляцию чего-нить по-популярнее, к примеру flylink. Есть 2 статьи - одна подробная статья по сборке apexdc но на английском есть неполная на русском, надо будет порыться в закладках отыскать статью. Если вы найдете первее меня - выкладывайте)
Есть одно важное замечание (во всяком случае для флая точно) - не качайте express версии visual studio только team suite. разница конечно огого (~800мб против ~4гб) в экспресе вы не сможете скомпилировать из-за отсутствия кое каких заголовочных файлов
Вообще для меня идея сборки хаба наверно почти лишена смысла из-за отсутствия достаточных знаний Си. Однако одна безумная идея меня никак не покидает поэтому хочу обратиться к знатокам. Что если при коннекте юзера отправлять хабу допустим строку $Ratio xxxxx bytes download xxxxx bytes upload. Насчет этого я разговаривал с PPA но он сказал (почему то непонятно для меня) что хаб просто забанит за флуд. Если сделать это в клиенте дело за малым - писать скрипт которые перехватит строку и извлечет информацию, если же хаб под никсом запущен можно опять таки залезть в исходники.
Если бы можно было реализовать такую штуку было бы очень здорово. Можно ввести рейтинг как на торрентах.
Это ты предлагаешь изменить протокол! Это надо будет менять абсолютно во всех клиентах и серверах - это просто не реально.
PPA наверняка тебе сказал, что если клиент отправит данную команду хабу, то хаб посчитает эту команду неизвестной и тут же разъединить тебя.
Можешь сам проверить это: отошли данную команду (или любую другую неизвестную команду) как RAW команду и хаб тут же закроет с тобой соединений. Все доступные команды протокола тут: http://mydc.ru/topic915.html
Я понимаю что я предлагаю изменить. Но что если эту команду добавить допустим в ptokax? Исходники имеются нужны лишь знания и прямые руки.
Не обязательно делать это масштабно, можно даже сделать и выложить допустим здесь. Я бы пользовался именно этим хабом и этим клиентом. Перевел бы своих пользователей заодно.
Лично я хочу и наверно даже попробую это сделать. Было бы замечательно если бы ты, Setuper тоже попробовал (у тебя шансов больше на успех нежели чем у меня)
Кстати равзе функция UnknownArrival(tUser, sData) не предназначена для неизвестных команд от клиента?
Да, предназначена. При отправки неизвестной команды, если данная функция вернёт true, то пользователь не будет отключен)
Кстати будь добр протестируй работает ли у тебя UnknownArrival(tUser, sData) на 0.4.1.1 ато я у себя стал проверять sData не пустое но и не выводится в чат. Немного в замешательстве я ...
всё работает:
Хм, инетересно есть ли клиент с поддержкой lua, типо грея, который бы мог отправлять хабу Ratio (чтобы не лезть в "корни")
а чем грей не устраивает?
У меня к нему "личная неприязнь". Смотрел его функционал не увидел чтобы в луа можно было выдернуть статистику.
На счёт lua ты прав, там нельзя из lua отправлять команды, но их можно отправлять из менюшки))) как RAW команды
Ага)) очень здорово заставить полторы тысячи пользователей каждую минуту тыкать менюшку)))) я думаю они буду отправлять не реальную стату а что взбредет в голову))
Помогите пожалуйста! как скомпилировать, например, ApexDC или FlylinkDC? скачал с оф. сайта, но в конце компиляции пишет, что были ашипки! пробовал разные клиента и разные их версии! везде так компилил в мойкросовок визуал студио 2008. Думаю, что чего-то нехватает для него или что самое смешное: они для другово компилятора ))
При компиляции возникло множество проблем.
решил их с помощью добавления в cpp файлы инклюда
Помогите!
Результат компиляции FlylinkDC++:
1>------ Построение начато: проект: FlylinkDC, Конфигурация: Debug Win32 ------
1>Осуществляется событие перед построением...
1>Deleting old pdb file...
1>Компоновка...
1>LINK : warning LNK4199: параметр /DELAYLOAD:gdiplus.dll;dbghelp.dll;oleaut32.dll;powrprof.dll;uxtheme.dll игнорируется; не найдены операции импорта из gdiplus.dll;dbghelp.dll;oleaut32.dll;powrprof.dll;uxtheme.dll
1>boost.lib(thread.obj) : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl boost::tss_cleanup_implemented(void)" (?tss_cleanup_implemented@boost@@YAXXZ) в функции "void __cdecl boost::`anonymous namespace'::create_current_thread_tls_key(void)" (?create_current_thread_tls_key@?A0x6fb6e68e@boost@@YAXXZ)
1>D:\flywork2\compiled\FlylinkDC_Debug.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://D:\flywork2\vc9\Win32\Debug\FlylinkDC\BuildLog.htm"
1>FlylinkDC - ошибок 2, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 9, пропущено: 0 ==========
Все делал как наисано здесь -
Не подскажите почему вылетает ошибка?
Пытаюсь собрать под CentOS 4.8:
и получаю ошибку
./linuxdcpp/Thread.h:36: error: conflicting declaration 'struct Thread'
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/perl.h:3516: error: 'Thread' has a previous declaration as `typedef void*Thread'
Подробности:
1ое - ЕМНИП, но linuxdcpp собирается не make, а scons
2ое - не перенести
3е - что за версия linuxdcpp