(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