Bitcoin Forum
June 23, 2018, 09:06:39 AM *
News: Latest stable version of Bitcoin Core: 0.16.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Compilare in windows codice C/C++ di wallet e miner  (Read 2171 times)
unsoindovo
Legendary
*
Offline Offline

Activity: 1442
Merit: 1014


View Profile
October 04, 2014, 08:52:59 AM
 #1

Salv a tutti!
più volte mi sono trovato ad avere la necessità di compilare codice sorgente c/c+ di wallet o miner in windows.
Ho instalato mingW ma sono solo riuscito a compilare i sorgenti .cpp con g++.exe.
Ho visto che nella maggior parte dei casi nei codici sorgente ci sono anche script per compilare il tutto, penso in un colpo solo.
per esempio ho makefile.mingw.

il codice contenuto è questo:

come faccio a compilare con questo script?
l'installazione di default di mingW è sufficiente?
o devo impostare altro?
grazie a tutti!!!

Code:
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

# Makefile for the MinGW g++ compiler/toolchain
#
# Assumes Berkeley DB, Boost, and OpenSSL have all been compiled and installed
# into /usr/local (/usr/local/include, /usr/local/lib).
#
# If dependencies are somewhere else, run 'make DEPSDIR=/path/'
#
# Boost libraries are given wacky names that include the particular version of
# boost you're using; set BOOST_SUFFIX appropriately.
#
# 'make clean' assumes it is running inside a MSYS shell, and uses 'rm'
# to remove files.

CXX ?= g++

USE_UPNP:=-
USE_IPV6:=1

DEPSDIR?=/usr/local
BOOST_SUFFIX?=-mgw48-mt-s-1_55

INCLUDEPATHS= \
 -I"$(CURDIR)" \
 -I"$(DEPSDIR)/include" \
 -I"c:/deps/boost_1_55_0" \
 -I"c:/deps/db-4.8.30.NC/build_unix" \
 -I"c:/deps/miniupnpc-1.8" \
 -I"c:/deps/openssl-1.0.1g/include"

LIBPATHS= \
 -L"$(CURDIR)/leveldb" \
 -L"$(DEPSDIR)/lib" \
 -L"c:/deps/boost_1_55_0/stage/lib" \
 -L"c:/deps/db-4.8.30.NC/build_unix" \
 -L"c:/deps/miniupnpc-1.8" \
 -L"c:/deps/openssl-1.0.1g"

LIBS= \
 -l leveldb \
 -l memenv \
 -l boost_system$(BOOST_SUFFIX) \
 -l boost_filesystem$(BOOST_SUFFIX) \
 -l boost_program_options$(BOOST_SUFFIX) \
 -l boost_thread$(BOOST_SUFFIX) \
 -l boost_chrono$(BOOST_SUFFIX) \
 -l db_cxx \
 -l ssl \
 -l crypto

DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-mthreads -O3 -msse2 -w -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat

TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)

ifndef USE_UPNP
override USE_UPNP = -
endif
ifneq (${USE_UPNP}, -)
 INCLUDEPATHS += -I"C:\miniupnpc-1.6-mgw"
 LIBPATHS += -L"C:\miniupnpc-1.6-mgw"
 LIBS += -l miniupnpc -l iphlpapi
 DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif

ifneq (${USE_IPV6}, -)
DEFS += -DUSE_IPV6=$(USE_IPV6)
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 mswsock -l shlwapi

# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
HEADERS = $(wildcard *.h)

OBJS= \
    obj/groestl.o \
    obj/blake.o \
    obj/bmw.o \
    obj/skein.o \
    obj/keccak.o \
    obj/shavite.o \
    obj/jh.o \
    obj/luffa.o \
    obj/cubehash.o \
    obj/echo.o \
    obj/simd.o \
obj/hamsi.o \
obj/fugue.o \
obj/shabal.o\
    obj/whirlpool.o \
    obj/alert.o \
    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/miner.o \
    obj/net.o \
    obj/protocol.o \
    obj/bitcoinrpc.o \
    obj/rpcdump.o \
    obj/rpcnet.o \
    obj/rpcmining.o \
    obj/rpcwallet.o \
    obj/rpcblockchain.o \
    obj/rpcrawtransaction.o \
    obj/script.o \
    obj/sync.o \
    obj/util.o \
    obj/wallet.o \
    obj/walletdb.o \
    obj/noui.o \
    obj/kernel.o \
    obj/pbkdf2.o \
    obj/scrypt.o \
    obj/scrypt-arm.o \
    obj/scrypt-x86.o \
    obj/scrypt-x86_64.o

all: halcyond.exe

LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a
DEFS += $(addprefix -I,$(CURDIR)/leveldb/include)
DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
OBJS += obj/txdb-leveldb.o
leveldb/libleveldb.a:
cd leveldb; make; cd ..
obj/txdb-leveldb.o: leveldb/libleveldb.a

obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<


obj/scrypt-x86.o: scrypt-x86.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

obj/scrypt-x86_64.o: scrypt-x86_64.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

obj/scrypt-arm.o: scrypt-arm.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

obj/%.o: %.c
$(CXX) -c $(xCXXFLAGS) -fpermissive -MMD -MF $(@:%.o=%.d) -o $@ $<
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
              -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
     
rm -f $(@:%.o=%.d)
obj/%.o: %.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
      -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
  rm -f $(@:%.o=%.d)

halcyond.exe: $(OBJS:obj/%=obj/%)
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)

clean:
-del /Q halcyond
-del /Q obj\*

FORCE:
1529744799
Hero Member
*
Offline Offline

Posts: 1529744799

View Profile Personal Message (Offline)

Ignore
1529744799
Reply with quote  #2

1529744799
Report to moderator
1529744799
Hero Member
*
Offline Offline

Posts: 1529744799

View Profile Personal Message (Offline)

Ignore
1529744799
Reply with quote  #2

1529744799
Report to moderator
The World's Betting Exchange

Bet with play money. Win real Bitcoin. 5BTC Prize Fund for World Cup 2018.

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1529744799
Hero Member
*
Offline Offline

Posts: 1529744799

View Profile Personal Message (Offline)

Ignore
1529744799
Reply with quote  #2

1529744799
Report to moderator
1529744799
Hero Member
*
Offline Offline

Posts: 1529744799

View Profile Personal Message (Offline)

Ignore
1529744799
Reply with quote  #2

1529744799
Report to moderator
1529744799
Hero Member
*
Offline Offline

Posts: 1529744799

View Profile Personal Message (Offline)

Ignore
1529744799
Reply with quote  #2

1529744799
Report to moderator
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500



View Profile
October 04, 2014, 09:45:47 AM
 #2

Qui c'è tutto :


https://bitcointalk.org/index.php?topic=149479.0




FaSan
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!