Hi need some help compilng on windows 7
I have installed
ActivePerl-5.18.1.1800-MSWin32-x64-297570
mingw-get-setup
python-3.3.3.amd64
I added environ variables to allow for calling make
C:\MinGW\mingw32\bin;C:\MinGW\bin;C:\Python33;C:\Perl64\site\bin;C:\Perl64\bin;
I have downloaded and built
boost_1_55_0
db-4.8.30.NC
miniupnpc
openssl-1.0.1e
in c:/deps
and I have modded the makefile as follows
[code]# Copyright © 2009-2010 Satoshi Nakamoto
Copyright © 2012 The PPCoin developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
Windows commandline build procedure:
- Install MinGW following http://www.mingw.org/wiki/Getting_Started.
Install with the C++ and MSYS options checked
- Add/edit ‘MAKE’ environment variable with value ‘/c/MinGW32/bin/mingw32-make.exe’
- Build openssl library version: 1.0.1b
download from http://www.openssl.org/source/
Extract to c:\openssl-1.0.1b-mgw
In MinGW MSYS:
./config
make
- Build Berkeley DB library version: 4.8.30.NC
download from http://www.oracle.com/technology/software/products/berkeley-db/index.html
Extract to c:\db-4.8.30.NC-mgw
In MinGW MSYS:
cd build_unix
sh …/dist/configure --disable-replication --enable-mingw --enable-cxx --prefix=/usr/local
Edit db.h@113 in build_unix
from
typedef pthread_t db_threadid_t;
to
typedef u_int32_t db_threadid_t;
Then
make
- Build Boost C++ library version: 1.47.0
download from http://www.boost.org/users/download/
Extract to c:\boost-1.47.0-mgw
Install Boost.Build:
cd tools\build\v2
bootstrap.bat
b2 install --prefix=BOOST_BUILD_INSTALL_DIR
Add BOOST_BUILD_INSTALL_DIR to your PATH system environment variable
Build boost library in MSDOS:
cd c:\boost-1.47.0-mgw
bjam toolset=gcc --build-type=complete stage
- Build Miniupnp library version: 1.6
download from http://miniupnp.free.fr/files/
file name is miniupnpc-1.6.20120509.tar.gz
Extract to c:\miniupnpc-1.6-mgw
In MinGW MSYS shell:
cd /c/miniupnpc-1.6-mgw
make -f Makefile.mingw
mkdir miniupnpc
cp *.h miniupnpc/
- Build ppcoind.exe
in MinGW MSYS
cd ppcoin/src
make ppcoind.exe -f makefile.mingw USE_UPNP=1
USE_UPNP:=0
INCLUDEPATHS=
-I"C:\deps\boost_1_55_0"
-I"C:\deps\db-4.8.30.NC\build_unix"
-I"C:\deps\openssl-1.0.1e\include"
LIBPATHS=
-L"C:\deps\boost_1_55_0\stage\lib"
-L"C:\deps\db-4.8.30.NC\build_unix"
-L"C:\deps\openssl-1.0.1e"
LIBS=
-l boost_system-mgw48-mt-s-1_55
-l boost_filesystem-mgw48-mt-s-1_55
-l boost_program_options-mgw48-mt-s-1_55
-l boost_thread-mgw48-mt-s-1_55
-l db_cxx
-l ssl
-l crypto
DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-mthreads -O2 -w -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
ifdef USE_UPNP
INCLUDEPATHS += -I"C:\deps\miniupnpc"
LIBPATHS += -L"C:\deps\miniupnpc"
LIBS += -l miniupnpc -l iphlpapi
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif
LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi
TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
HEADERS = $(wildcard *.h)
OBJS=
obj/version.o
obj/checkpoints.o
obj/netbase.o
obj/addrman.o
obj/crypter.o
obj/key.o
obj/db.o
obj/init.o
obj/irc.o
obj/keystore.o
obj/main.o
obj/net.o
obj/protocol.o
obj/bitcoinrpc.o
obj/rpcdump.o
obj/script.o
obj/util.o
obj/wallet.o
obj/walletdb.o
obj/noui.o
obj/kernel.o
all: ppcoind.exe
obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
ppcoind.exe: $(OBJS:obj/%=obj/%)
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
obj-test/%.o: test/%.cpp $(HEADERS)
g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<
test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS)
clean:
-del /Q ppcoind test_bitcoin
-del /Q obj*
-del /Q obj-test*
-del /Q build.h
[/code]