Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Помощь со сборкой libtorrent под VS2010


Автор: Kasiro 20.9.2010, 00:16
Доброй ночи, уважаемые.
Кто нибудь может помочь со сборкой libtorrent в MS VisualStudio C++ 2010?
Изучение следующих ссылок мне не помогло(
http://libtorrent.rakshasa.no/wiki/Install
http://softwerkz.net/2009/09/libtorrent/
Удалось правда скомпилить старую версию либы, но она шла вместе с сорцами опен сорц торрент-клиента в проекте VS.
Есть куча мейк файлов, но как ими пользоваться в VS я хз...
Подскажете как собрать то?)

Автор: boostcoder 20.9.2010, 03:42
в венде собирается с помощью boost.build
в линукс, так же, можно собрать испльзуя ./configure

Автор: Alexeis 20.9.2010, 08:31
Цитата(Kasiro @  19.9.2010,  23:16 Найти цитируемый пост)
Есть куча мейк файлов, но как ими пользоваться в VS я хз...

  Заходим в меню пуск выбираем "Visual Studio 20ХХ Command Prompt" вызывается командная строка, которая инициализирует все системные переменные для компиляции из командной строки. Обычно нужно перейти в папку с мейк файлом (make без расширения) и в командной строке дать команду make, которая начнет билдить используя make файл без расширения. 

Автор: Kasiro 20.9.2010, 09:32
Alexeis,  попробовал, но в папке мейка без расширения нет, есть два других один .am другой .in, я так понимаю из них нужно собрать make а потом уже так как ты написал, только как это сделать?
гугл показал только на вопросы без ответов таких как я))

Автор: Alexeis 20.9.2010, 11:20
Kasiro, может один из них следует просто переименовать (убрать расширение). 

Автор: Kasiro 20.9.2010, 11:33
Alexeis, неа, переименовывание не помогло
в одном случае пишет ероры о том что структура файла неправильная
в другом случае ничего не просходит

Автор: jonie 20.9.2010, 11:36
ну потому что надо ./configure вызывать сначала, он и сделает makefile.. другой вопрос, что под винду такого скрипта нету скорее всего....


Тут не написано разве что делать? http://www.rasterbar.com/products/libtorrent/building.html

Автор: Kasiro 20.9.2010, 12:17
jonie, угу, configure нет
по этой ссыле ненаписано, потому что это другая либа. Инстал той которую использую я лежит здесь http://libtorrent.rakshasa.no/wiki/Install , но тут ни слова по VS
наверное существует какой то способ получения makefile из .in и .am...

Автор: Alexeis 20.9.2010, 12:53
На оф. сайте есть пример как билдить SSL под винду
см.
Цитата

perl Configure VC-WIN32 --prefix="c:/openssl
call ms\do_nasm
call "C:\Program Files\Microsoft Visual Studio .NET 2003\vc7\bin\vcvars32.bat"
nmake -f ms\nt.mak


perl Configure - значит что нужно установить изначально среду исполнения для языка перла. По всей видимости скрипт конфигурации перловый.

Автор: boostcoder 20.9.2010, 16:30
в openssl нет стандартного скрипта configure. а тот что есть, он да, перловый.
но стандатрные скрипты configure выполняются bash`ем.

Автор: Kasiro 20.9.2010, 16:55
ммм... кто нибудь знает как мне можно помочь?)
я думаю что нужно каким то образом получить makefile из makefile.in & makefile.am
но вся инфа на эту тему про никсы. Кто нибудь знает как это сделать в винде на MSVSС++?

Автор: djamshud 20.9.2010, 17:14
Насколько я понимаю, libtorrent чисто никсовый проект, поэтому не удивительно, что нет описания сборки под винду. В качестве забавы можете попробовать сами создать проект в студии и добавить в нее исходники. Но, чувствую, ваша затея оборвется на первом же сисколе.

А вот более жизнеспособный вариант - собрать либторрент на cygwin с помощью ./configure, gnu make и gcc.

Добавлено через 1 минуту и 5 секунд
Хотя вот умный человек говорит, можно с помощью boost собрать. По вашей же второй ссылке написано, ка кэто сделать.

Автор: Kasiro 21.9.2010, 14:02
djamshud, чёто я не увидел по второй ссылке мануала по сборке бустом...
подскажете как собрать?

Автор: djamshud 21.9.2010, 15:57
Kasiro, http://softwerkz.net/2009/09/libtorrent/

1. Building Boost Library
2. Building OpenSSL Library
3. Building libtorrent DLL

Каждый пункт расписан. Не мануал конечно, а вот хау-ту хорошее.

Автор: Kasiro 21.9.2010, 17:26
djamshud, спасибо большое) буду пробовать)

Автор: Kasiro 25.9.2010, 16:29
Долбался несколько дней... Результатов ноль...

Автор: boostcoder 25.9.2010, 16:38
в чем проблема? что не получается? какая ошибка?

зы
мля, почему я должен тебе эти вопросы задавать?! ты на форуме постишь. так пиши нормально. ясновидящих тут нет.

Автор: Kasiro 25.9.2010, 20:51
Сорри, целый день сегодня сидел, мозгов нету

в общем компильнул буст, всё гуд, решил либ торрент тоже собрать буст билдом как ты подсказал, компиляция пошла, но потом оказалось что нужно openssl компильнуть, а вот его у меня не получилось пока что

В архиве OpenSSL присутствовал мэйк, поэтому в Cygwin я вызвал make, после чего вывалилось много много текста и в конце ерор 

http://ipicture.ru/

Через cmd и командную строку студии:
c:\OpenSSL>make
MAKE Version 5.4  Copyright © 1987, 2009 CodeGear
Fatal: 'build_all' does not exist - don't know how to make it

Ещё пробовал как по мануалу, из цмд perl Configure и т. д., но говорит что нет такой команды perl
хотя я скачал и поставил ActivePerl вот от сюда http://www.activestate.com/activeperl

Автор: boostcoder 25.9.2010, 21:01
какой кочмар smile 
ты случайно не ошибся в выборе торрент-либы? тебе точно не rasterbar`овская нужна?

Автор: djamshud 25.9.2010, 21:08
facepalm

За цигвин отдельное пять. Проекту, собираемому в винде, пришлась бы очень по душе библиотека, скомпиленная под цигвином.

>Ещё пробовал как по мануалу, из цмд perl Configure и т. д., но говорит что нет такой команды perl
>хотя я скачал и поставил ActivePerl вот от сюда http://www.activestate.com/activeperl

Может быть стоило указать PATH env до директории с установленным перловым бинарником?

Автор: boostcoder 25.9.2010, 21:17
а это: http://clip2net.com/clip/m47996/1285438601-cliptj3739-16kb.png
уже ошибка установки компилятора.

Автор: Kasiro 25.9.2010, 22:03
 smile  так как собрать опен ссл?)

зы: растербаровская у мя походу и есть)))

зыы: а вообще мне без разницы, главное чтобы работала на винде, растербаровская это как раз для винды, да?

зыыы: да, стопудово растербаровская, посмотрел в ридми

Автор: boostcoder 25.9.2010, 22:20
Цитата(Kasiro @  25.9.2010,  22:03 Найти цитируемый пост)
растербаровская это как раз для винды, да?

кроссплатформенная.

так какую ты собрать пытаешься?

Автор: Kasiro 25.9.2010, 22:28
растербаровскую - вот эту http://www.rasterbar.com/products/libtorrent/

зы: непонял щас одну вещь, либы идут как то парралельно разных версий, дата релиза 6 сентября ( http://code.google.com/p/libtorrent/downloads/list )
а версии на выбор две libtorrent-rasterbar-0.14.12 и libtorrent-rasterbar-0.15.3

у меня 0.15.3

Автор: boostcoder 25.9.2010, 22:32
Цитата(Kasiro @  25.9.2010,  22:28 Найти цитируемый пост)
растербаровскую

так.
ты пытался собрать ее с помощью cygwin, и хотел использовать ее в проекте для студии?

Добавлено через 54 секунды
кстати она собирается с полпинка. объяснять не буду как. собиру и выложу. использую mingw.

Автор: Kasiro 25.9.2010, 22:43
boostcoder, мне главное чтобы она потом работала в винде.
А использовать собираюсь в проекте на Builder C++ 2010

я вам буду очень благодарен если сможете скомпилировать и выложить smile 

зы: а собраться я её пытался всем чем только можно: VS, сигвином, буст билдом. Я думал что после компиляции сигвином её можно будет использовать для винды, оказывается нет, но это не важно, важно чтобы работало

Автор: boostcoder 25.9.2010, 22:46
Цитата(Kasiro @  25.9.2010,  22:43 Найти цитируемый пост)
А использовать собираюсь в проекте на Builder C++ 2010

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

Автор: Kasiro 25.9.2010, 23:02
хреново...
а можешь в двух словах рассказать последовательность действий? чтобы юзать на билдере 2010

Автор: boostcoder 25.9.2010, 23:09
Цитата(Kasiro @  25.9.2010,  23:02 Найти цитируемый пост)
чтобы юзать на билдере 2010

это врядли возможно.
насколько я слышал, билдер-то и буст скомпилить не в состоянии.

Добавлено через 1 минуту и 53 секунды
по крайней мере, гугл не выдал ничего о сборке libtorrent-rasterbar на билдере.
меняй-ка ты лучше компилятор, пока окончательно не потерялся.

Автор: Kasiro 25.9.2010, 23:12
А какие есть альтернативы для использования функций торрент клиента (скачивать раздачи) на билдере(всмысле либы)?

Автор: boostcoder 25.9.2010, 23:16
Цитата(Kasiro @  25.9.2010,  23:12 Найти цитируемый пост)
на билдере

ты наверное меня неправильно понял. я хотел сказать, что если не хочешь научится(на сколько я понял ты только учишься) писать так, чтоб ни один компилятор не компилировал твой код - то меняй компилятор. код, который компилирует билдер, большинство компиляторов компилировать откажутся. в итоге, получится так, что выучил не с++, а "с++ builder edition" smile 

Автор: Kasiro 25.9.2010, 23:22
ааа))))) ясно))
да, я учусь только, но дело в том что это у нас в универе семинар (или как это называется) каждый курс выбирает тему, и разруливает её с примерами и т. д., и в билдере я уже всё прогу сделал кроме закачки через торрент протокол, поэтому пока что надо на билдере))

Автор: boostcoder 25.9.2010, 23:23
успехов... smile 

Автор: Kasiro 25.9.2010, 23:47
чтобы компильнуть OpenSSL нужно сделать чтобы эти команды работали:

Код

cd C:\OpenSSL
perl Configure VC-WIN32 --prefix=%OpenSSL%
call ms\do_nasm
nmake -f ms\nt.mak


а то ругается на perl, говорит не такого
я поставил ActivePerl а что дальше делать, хз

Автор: Kasiro 26.9.2010, 08:05
Попробовал с Cmake'ом, есть сдвиги, неможет найти буст, как указать ему где у меня лежит буст? я добавил entry - BOOST_ROOT и путь до файла но резалт тот же

Автор: boostcoder 26.9.2010, 11:11
вот: http://rghost.ru/2731950
состав:
mingw32 на базе gcc-4.5.1, TDM сборки.
boost-1.43.0-static.
openssl-1.0.0-static.
libtorrent_rasterbar-0.15.3-static.

все работает. проверил, скомпилив и запустив экзамплы поставляемые с libtorrent_rasterbar.

компилировал такой командой:
Цитата

g++ -DTORRENT_DISABLE_GEO_IP client_test.cpp -oclient_test -ltorrent -lboost_system -lboost_filesystem -lboost_thread -lssl -lcrypto -lgdi32 -lws2_32 -lwsock32

Автор: Kasiro 26.9.2010, 14:04
boostcoder, спасибо огромное!!) smile 

а ты не можешь помочь с cmake'ом?
там как я понял в скрипте прописан поиск буста 1,34. У меня стоит 1.44, в итоге он не находит инклуды буста

Автор: boostcoder 26.9.2010, 14:18
а какая разница, CMake`ом или boost.build`ом ?

Добавлено через 1 минуту и 53 секунды
Цитата(Kasiro @  26.9.2010,  14:04 Найти цитируемый пост)
спасибо огромное

за что спасибо? ты даже не скачал. похоже что я впустую время тратил... а за это, тебе отдельное спасибо.

Автор: Kasiro 26.9.2010, 14:45
boostcoder, как это не скачал?)) скачал уже))
инет не такой быстрый как у москвичей) так что прости)

всё скачал, но вопрос у мя ещё щас по цмейку, можешь ответить?

Добавлено через 58 секунд
хз, мне чёт кажется что цмейк попроще будет

Добавлено через 6 минут и 47 секунд
в цмейке я убрал в скрипте строчку с поиском либы, и просто env прописал. В итоге конфигурирует без проблем, а генерирует вот с таким вот сообщением

WARNING: Target "torrent-rasterbar" requests linking to directory "E:/boost_1_44_0/stage/lib".  Targets may link only to libraries.  CMake is dropping the item.
Generating done

Автор: boostcoder 26.9.2010, 14:59
что ты хочешь сделать CMake`ом ?

Автор: Kasiro 26.9.2010, 15:19
собрать либторрент, (я с ним не знаком, он похоже просто проект создаёт, и дальше уже сам компили) ну в общем с помощью него, там как раз есть выбор билдера для компиляции.

Автор: boostcoder 26.9.2010, 15:28
я наверное до сих пор с инопланетянами общался.
[забил полностью]

Автор: Kasiro 26.9.2010, 15:41
boostcoder, мда....
спасибо за помощь, хотя толку никакого

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)