VS2005和VS2008下編譯libtorrent

使用VS2005或者2008來編譯libtorrent時,可以按照以下步驟~

 

一、編譯OpenSSL

 

OpenSSL的源碼和編譯環境下載:


openssl-1.0.0-beta3
版本下載地址:http://www.openssl.org/source/openssl-1.0.0-beta3.tar.gz

A

ctivePerl window安裝程序下載:http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.0.1005-MSWin32-x86-290470.msi

OpenSSL安裝過程

1. 安裝ActivePerl程序,確保其bin目錄在環境變量path裏面

2. 解壓OpenSSL源代碼到 F:/openssl (目錄自己定義)

3. 運行 Visual Studio 2008命令提示

4. 在命令行下輸入如下命令:

    F:

    cd openssl

    perl configure VC-WIN32

    ms/do_ms

    nmake -f ms/ntdll.mak (編譯靜態版本的執行 nmake -f ms/nt.mak )

5. 編譯完成後會在 F:/openssl/out32dll 目錄下生成庫文件、動態鏈接庫文件、Openssl執行文件和測試程序,會用到的有libeay32.lib,ssleay32.lib,openssl.exe libeay32.dll ssleay32.dll

 

二、編譯boost

 

下載boost

1boost_1_39_0.tar.bz2,解壓到F:/boost_1_39_0

 

2、下載icu4c-4_2_1-Win32-msvc9.zip,解壓到F:/boost_1_39_0,出現F:/boost_1_39_0/icu,添加icubin目錄到path環境變量中編譯

 

3、執行F:/boost_1_39_0/tools/jam/build_dist.bat,生成文件F:/boost_1_39_0/tools/jam/stage/bin.ntx86/bjam.exe,把bjam.exe拷貝到F:/boost_1_39_0目錄下

 

4、在F:/boost_1_39_0目錄新建一個bat文件,命名爲:bootstrap_vc8.bat,內如爲:

REM used with regex library with unicode support
set ICU_PATH="F:/boost_1_39_0/icu"

bjam --without-python --toolset=msvc-9.0(VS2005爲msvc-8.0)

 

5、執行bootstrap_vc8.bat即可,結果生成的靜態庫放在F:/boost_1_39_0/stage/lib,動態庫及編譯文件都在F:/boost_1_39_0/bin.v2/libs

 

三、編譯libtorrent 

1、從http://sourceforge.net/projects/libtorrent/下載libtorrent-rasterbar-0.14.4.tar.gz,解壓到F:/libtorrent

 

2、下載openssl-1.0.0-beta3解壓到F:/libtorrent/openssl-1.0.0-beta3

 

3、下載boost_1_39_0.tar.bz2解壓到F:/boost_1_39_0

 

4、新建win32,lib靜態庫項目工程libtorrent

添加F:/libtorrent/srcF:/libtorrent/zlibF:/libtorrent/src/kademlia下的所有源文件到工程

預編譯宏添加

   WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0501;

   __USE_W32_SOCKETS;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;

TORRENT_STORAGE_DEBUG;TORRENT_UPNP_LOGGING;TORRENT_DISK_STATS;

TORRENT_STATS;TORRENT_DHT_VERBOSE_LOGGING;TORRENT_VERBOSE_BANDWIDTH_LIMIT;

TORRENT_USE_OPENSSL;UNICODE;_UNICODE;CMAKE_INTDIR=/"Debug/"

   頭文件包含添加

   F:/boost_1_39_0;

   F:/libtorrent/include;

   F:/libtorrent/zlib;

   "F:/libtorrent/openssl-1.0.0-beta3/include"

   "F:/libtorrent/openssl-1.0.0-beta3/include/libtorrent"

5、編譯

如果要編譯dll項目,除了添加如上預編譯宏外,還要添加TORRENT_BUILDING_SHARED宏,然後添加引用的

libeay32.lib
ssleay32.lib
libboost_date_time-vc90-mt.lib
libboost_filesystem-vc90-mt.lib
libboost_system-vc90-mt.lib
libboost_thread-vc90-mt.lib

注意:在編譯成功後,如欲測試,不要將類庫重引,那樣將使得程序不知該引用那個庫。
添加lib引用路徑:

F:/boost_1_39_0/stage/lib;F:/libtorrent/openssl-1.0.0-beta3/out32dll

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章