Re: Issues building bitcoin on Windows 7

Participants: LobsterMan

(still given up with MSVC++ for now, just reformatted and don’t want to go bloating up my system with visual studio and friends for now…) This is my attempt to build the source that puddinpop has released… bitcoin-CUDA-svn153-src-gpl

I’ve made some changes to the makefile to reflect the version of boost that i’m using (1.44) and mingw 4.5 and also to support not-absolute-paths; here is what I’m working with at present:

Code:# Copyright (c) 2009-2010 Satoshi Nakamoto

Distributed under the MIT/X11 software license, see the accompanying

file license.txt or http://www.opensource.org/licenses/mit-license.php.

INCLUDEPATHS=
-I”./boost”
-I”./db/build_unix”
-I”./openssl/include”
-I”./wxwidgets/lib/gcc_lib/mswud”
-I”./wxwidgets/include”

LIBPATHS=
-L”./boost/stage/lib”
-L”./db/build_unix”
-L”./openssl/out”
-L”./wxwidgets/lib/gcc_lib”

WXLIBS=
-l wxmsw29ud_html -l wxmsw29ud_core -l wxmsw29ud_adv -l wxbase29ud -l wxtiffd -l wxjpegd -l wxpngd -l wxzlibd

LIBS=
-l libboost_system-mgw45-mt-d-1_44
-l libboost_filesystem-mgw45-mt-d-1_44
-l libboost_program_options-mgw45-mt-d-1_44
-l libboost_thread-mgw45-mt-d-1_44
-l db_cxx
-l eay32
-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

DEFS=-DWIN32 -D__WXMSW__ -D_WINDOWS -DNOPCH DEBUGFLAGS=-g -D__WXDEBUG__ CFLAGS=-mthreads -O2 -w -Wno-invalid-offsetof -Wformat $(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.o
obj/script.o
obj/db.o
obj/net.o
obj/irc.o
obj/main.o
obj/rpc.o
obj/init.o
cryptopp/obj/sha.o
cryptopp/obj/cpu.o

all: bitcoin.exe

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

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

obj/ui_res.o: ui.rc rc/bitcoin.ico rc/check.ico rc/send16.bmp rc/send16mask.bmp rc/send16masknoshadow.bmp rc/send20.bmp rc/send20mask.bmp rc/addressbook16.bmp rc/addressbook16mask.bmp rc/addressbook20.bmp rc/addressbook20mask.bmp windres $(DEFS) $(INCLUDEPATHS) -o $@ -i $<

bitcoin.exe: $(OBJS) obj/ui.o obj/uibase.o obj/ui_res.o g++ $(CFLAGS) -mwindows -Wl,—subsystem,windows -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)

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

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

clean: -del /Q obj* -del /Q obj\nogui* -del /Q cryptopp\obj* -del /Q headers.h.gch

So far, calling both ‘mingw32-make -f makefile.mingw bitcoind.exe’ from cmd.exe or ‘make -f makefile.mingw bitcoind.exe’ from the MinGW shell are giving me the same problems. It gets as far as the boost_program_options, and then exits with the following errors:

Code:C:\Users[username]\Desktop\bitcoin-CUDA-svn153-src-gpl/./boost/boost/program_options/eof_iterator.hpp:75: undefined reference to boost::program_options::detail::common_config_file_iterator::get()' obj/nogui/util.o: In function basic_config_file_iterator’: C:\Users[username]\Desktop\bitcoin-CUDA-svn153-src-gpl/./boost/boost/program_options/detail/config_file.hpp:147: undefined reference to boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::string, std::less<std::string>, std::allocator<std::string> > const&, bool)' C:\Users\[username]\Desktop\bitcoin-CUDA-svn153-src-gpl/./boost/boost/program_options/detail/config_file.hpp:150: undefined reference to boost::program_options::detail::common_config_file_iterator::get()’ collect2: ld returned 1 exit status mingw32-make: *** [bitcoind.exe] Error 1 Kind of stuck here at the moment and any help would be appreciated (is it possible something failed when I was building boost?) Smiley