Я получил его, чтобы построить и запустить с помощью следующей модифицированной версии makefile.vc:
# Copyright (с) 2009-2010 Сатоси Накамото
# Распространяется под лицензией MIT / X11 см сопровождающего
# Файл license.txt или http://www.opensource.org/licenses/mit-license.php.
INCLUDEPATHs = \
/Я"C: \ Bitcoin-сборки \ boost_1_46_1" \
/Я"C: \ Bitcoin-сборки \ DB-4.7.25 \ build_windows" \
/Я"C: \ Bitcoin-сборка \ OpenSSL-1.0.0d \ включает" \
/Я"C: \ Bitcoin-сборки \ WxWidgets-2.9.1 \ Lib \ vc_lib \ mswu" \
/Я"C: \ Bitcoin-сборка \ WxWidgets-2.9.1 \ включает" \
/Я"C: \ Bitcoin-сборка \ miniupnpc-1.5.20110215"
LIBPATHS = \
/ LIBPATH:"C: \ Bitcoin-сборки \ boost_1_46_1 \ этап \ Lib" \
/ LIBPATH:"C: \ Bitcoin-сборки \ DB-4.7.25 \ build_windows \ Release" \
/ LIBPATH:"C: \ Bitcoin-сборка \ OpenSSL-1.0.0d \ out32dll" \
/ LIBPATH:"C: \ Bitcoin-сборка \ WxWidgets-2.9.1 \ Lib \ vc_lib" \
/ LIBPATH:"C: \ Bitcoin-сборка \ upnpc-ех-win32-20110215" \
/NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib \
/NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib \
/NODEFAULTLIB:msvcrtd.lib
WXLIBS = wxmsw29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib
LIBS = \
libboost_system-VC100-mt.lib \
libboost_filesystem-VC100-mt.lib \
libboost_program_options-VC100-mt.lib \
libboost_thread-VC100-mt.lib \
libdb47s.lib \
libeay32.lib \
miniupnpc.lib \
kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib
DEFS = / DWIN32 / D__WXMSW__ / D_WINDOWS / DNOPCH / DNOMINMAX / DUSE_UPNP
DEBUGFLAGS = / вывода
CFLAGS = / MD / с / NOLOGO / EHsc / GR / Zm300 $ (DEBUGFLAGS) $ (DEFS) $ (INCLUDEPATHs)
HEADERS = headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
OBJS = \
OBJ \ util.obj \
OBJ \ script.obj \
OBJ \ db.obj \
OBJ \ net.obj \
OBJ \ irc.obj \
OBJ \ main.obj \
OBJ \ rpc.obj \
OBJ \ init.obj
CRYPTOPP_OBJS = \
cryptopp \ OBJ \ sha.obj \
cryptopp \ OBJ \ cpu.obj
всего: bitcoin.exe
.каст {} OBJ .obj:
сл $ (CFLAGS) / DGUI / Fo $ @% s
OBJ \ util.obj: $ (HEADERS)
OBJ \ script.obj: $ (HEADERS)
OBJ \ db.obj: $ (HEADERS)
OBJ \ net.obj: $ (HEADERS)
OBJ \ irc.obj: $ (HEADERS)
OBJ \ main.obj: $ (HEADERS)
OBJ \ rpc.obj: $ (HEADERS)
OBJ \ init.obj: $ (HEADERS)
OBJ \ ui.obj: $ (HEADERS)
OBJ \ uibase.obj: $ (HEADERS)
cryptopp \ OBJ \ sha.obj: cryptopp \ sha.cpp
сл $ (CFLAGS) / O2 / DCRYPTOPP_DISABLE_ASM / Fo $ @% s
cryptopp \ OBJ \ cpu.obj: cryptopp \ cpu.cpp
сл $ (CFLAGS) / O2 / DCRYPTOPP_DISABLE_ASM / Fo $ @% s
OBJ \ ui.res: ../share/ui.rc ../share/pixmaps/bitcoin.ico ../share/pixmaps/check.ico ../share/pixmaps/send16.bmp ../share/pixmaps /send16mask.bmp ../share/pixmaps/send16masknoshadow.bmp ../share/pixmaps/send20.bmp ../share/pixmaps/send20mask.bmp ../share/pixmaps/addressbook16.bmp ../share/pixmaps /addressbook16mask.bmp ../share/pixmaps/addressbook20.bmp ../share/pixmaps/addressbook20mask.bmp
гс $ (INCLUDEPATHs) $ (DEFS) / Fo $ @% s
bitcoin.exe: $ (OBJS) $ (CRYPTOPP_OBJS) OBJ \ ui.obj OBJ \ uibase.obj OBJ \ ui.res
ссылка / NOLOGO / SUBSYSTEM: WINDOWS / OUT: $ @ $ (LIBPATHS) $ ** $ (WXLIBS) $ (LIBS)
.каст {OBJ \ nogui} .obj:
сл $ (CFLAGS) / Fo $ @% s
OBJ \ nogui \ util.obj: $ (HEADERS)
OBJ \ nogui \ script.obj: $ (HEADERS)
OBJ \ nogui \ db.obj: $ (HEADERS)
OBJ \ nogui \ net.obj: $ (HEADERS)
OBJ \ nogui \ irc.obj: $ (HEADERS)
OBJ \ nogui \ main.obj: $ (HEADERS)
OBJ \ nogui \ rpc.obj: $ (HEADERS)
OBJ \ nogui \ init.obj: $ (HEADERS)
bitcoind.exe: $ (OBJS: OBJ \ = OBJ \ nogui \) $ (CRYPTOPP_OBJS) OBJ \ ui.res
ссылка / NOLOGO / OUT: $ @ $ (LIBPATHS) $ ** $ (LIBS)
чистить:
-дель / Q OBJ \ *
-дель / Q OBJ \ nogui \ *
-дель / Q cryptopp \ OBJ \ *
-дель / Q * .ilk
-дель / Q * .pdb
Если вы используете это, вы хотите установить INCLUDEPATHs и LIBPATHS в собственных местах библиотеки.
Изменения, которые я сделал это:
- Обновленное расположение ресурсов, используемых для построения ui.res.
- Переехал список объектов CryptoPP из OBJ в своей собственной CRYPTOPP_OBJ, так как они не имеют отдельные версии nogui.
- Добавлена MiniUPnP библиотека и USE_UPNP определить.
- Добавлено NOMAXMIN определить, чтобы удалить некоторые несовместимые макросы.
Кроме того, для WxWidgets, убедитесь, что вы либо отредактировать config.vc, чтобы сделать сборку выпуска, прежде чем строить или изменять этот Makefile для использования отладки по умолчанию построить.
Edit: Спица слишком рано. После запуска в течение нескольких секунд, мой Bitcoin билд быть прекращен DEP. Это относится и к bitcoin.exe и bitcoind.exe.
Я буду смотреть на это более позднее.Оказывается, проблема была с MiniUPnP. Я был полностью неудачным сделать свой собственный билд miniupnpc.lib с помощью VC, поэтому я построил его без UPnP полностью. Для того чтобы построить Bitcoin без USE_UPNP определена, я должен был сделать небольшие изменения в net.cpp добавленными следующие строки после функции MapPort:
#else
аннулированию MapPort (Ий fMapPort) {}
Это дает нам функцию MapPort использовать, когда USE_UPNP не определен.
Больше Edit: D'ой! Я забыл скопировать MiniUPnP DLL в том же каталоге, bitcoin.exe при использовании скомпилированных MiniUPnP. Это решает проблему DEP.