Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Diapolo on March 20, 2012, 07:06:04 AM



Title: compiling Bitcoin-Qt on Windows (solved - can a dev have a look inside ^^?)
Post by: Diapolo on March 20, 2012, 07:06:04 AM
Setup is as follows:

Windows 7 x64 SP1
Qt SDK 1.2 with Qt Creator 2.4.1 and included MinGW 4.4.0
contents of qtgui_deps_1.zip were extracted into the MinGW folder in D:\QtSDK\mingw

I have the current Git version of Bitcoin as a local repo, started Qt Creator by double-clicking on bitcoin-qt.pro and added the "USE_UPNP=-" flag to qmake. As it didn't work out of the box, I upgraded MinGW to 4.6.2 via mingw-get-inst-20111118.exe.

Now the build-log is as follows:

Quote
./build\bitcoin.o:bitcoin.cpp:(.text$_ZN5boost12interprocess6winapi23get_wmi_class_attributeERSbIwSt11char_traitsIwESaIwEEPKwS8_[boost::interprocess::winapi::get_wmi_class_attribute(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, wchar_t const*, wchar_t const*)]+0x368): undefined reference to `_imp__VariantClear@4'
./build\util.o:util.cpp:(.text+0xfa1): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0xfc7): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0xfd7): undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:util.cpp:(.text+0x2d15): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x2d52): undefined reference to `boost::filesystem3::path::root_name() const'
./build\util.o:util.cpp:(.text+0x2d8f): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x2dc0): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
./build\util.o:util.cpp:(.text+0x2e09): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x2e5b): undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x2e7e): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x2e94): undefined reference to `boost::filesystem3::path::root_directory() const'
./build\util.o:util.cpp:(.text+0x2ece): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x3069): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x30a6): undefined reference to `boost::filesystem3::path::root_name() const'
./build\util.o:util.cpp:(.text+0x30e3): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x3114): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
./build\util.o:util.cpp:(.text+0x315d): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x31af): undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x31d2): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x31e8): undefined reference to `boost::filesystem3::path::root_directory() const'
./build\util.o:util.cpp:(.text+0x3222): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x3eac): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x3edd): undefined reference to `boost::filesystem3::detail::system_complete(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:util.cpp:(.text+0x3eee): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:util.cpp:(.text+0x3f5b): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x3fdc): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x43b6): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x43d8): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x482f): undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x4889): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x48ba): undefined reference to `boost::filesystem3::detail::system_complete(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:util.cpp:(.text+0x48d0): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:util.cpp:(.text+0x49be): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text+0x49e1): undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:util.cpp:(.text.startup+0x38): undefined reference to `boost::system::generic_category()'
./build\util.o:util.cpp:(.text.startup+0x42): undefined reference to `boost::system::generic_category()'
./build\util.o:util.cpp:(.text.startup+0x4c): undefined reference to `boost::system::system_category()'
./build\main.o:main.cpp:(.text+0x1307): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\main.o:main.cpp:(.text+0x1334): undefined reference to `boost::filesystem3::detail::space(boost::filesystem3::path const&, boost::system::error_code*)'
./build\main.o:main.cpp:(.text+0x1492): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\main.o:main.cpp:(.text.startup+0x3c): undefined reference to `boost::system::generic_category()'
./build\main.o:main.cpp:(.text.startup+0x46): undefined reference to `boost::system::generic_category()'
./build\main.o:main.cpp:(.text.startup+0x50): undefined reference to `boost::system::system_category()'
./build\init.o:init.cpp:(.text+0x2e0): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\init.o:init.cpp:(.text+0x306): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\init.o:init.cpp:(.text+0x316): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
./build\init.o:init.cpp:(.text+0x6b6): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\init.o:init.cpp:(.text+0x6db): undefined reference to `boost::filesystem3::detail::remove(boost::filesystem3::path const&, boost::system::error_code*)'
./build\init.o:init.cpp:(.text+0x894): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\init.o:init.cpp:(.text.startup+0x36): undefined reference to `boost::system::generic_category()'
./build\init.o:init.cpp:(.text.startup+0x40): undefined reference to `boost::system::generic_category()'
./build\init.o:init.cpp:(.text.startup+0x4a): undefined reference to `boost::system::system_category()'
./build\db.o:db.cpp:(.text+0x4b35): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\db.o:db.cpp:(.text+0x4b77): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\db.o:db.cpp:(.text+0x4ba1): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
./build\db.o:db.cpp:(.text+0x4bca): undefined reference to `boost::filesystem3::detail::copy_file(boost::filesystem3::path const&, boost::filesystem3::path const&, boost::filesystem3::copy_option::enum_type, boost::system::error_code*)'
./build\db.o:db.cpp:(.text+0x4bcf): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\db.o:db.cpp:(.text+0x4cff): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\db.o:db.cpp:(.text+0x4d1f): undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\db.o:db.cpp:(.text+0x4d42): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\db.o:db.cpp:(.text+0x4d58): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\db.o:db.cpp:(.text+0x4d92): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
./build\db.o:db.cpp:(.text+0x4e36): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\db.o:db.cpp:(.text+0x56c3): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\db.o:db.cpp:(.text+0x56f1): undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\db.o:db.cpp:(.text+0x5701): undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
./build\db.o:db.cpp:(.text$_ZNK5boost11filesystem34path6stringEv[boost::filesystem3::path::string() const]+0x9): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\db.o:db.cpp:(.text$_ZNK5boost11filesystem34path6stringEv[boost::filesystem3::path::string() const]+0x3f): undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\db.o:db.cpp:(.text.startup+0x38): undefined reference to `boost::system::generic_category()'
./build\db.o:db.cpp:(.text.startup+0x42): undefined reference to `boost::system::generic_category()'
./build\db.o:db.cpp:(.text.startup+0x4c): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0xc80): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x4864): undefined reference to `boost::system::generic_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x486e): undefined reference to `boost::system::generic_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x4878): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x48ac): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x48b6): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x48c0): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x5919): undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:bitcoinrpc.cpp:(.text+0x5988): more undefined references to `boost::system::system_category()' follow

I excluded some warnings in the beginning that were all like this:
Quote
In file included from src/util.h:27:0,
                 from src\qt\/walletmodel.h:6,
                 from src\qt\sendcoinsentry.cpp:6:
src/netbase.h:11:0: warning: "_WIN32_WINNT" redefined [enabled by default]
d:\qtsdk\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/windef.h:20:0: note: this is the location of the previous definition

For me as a novice Qt user with basic programming skills this looks like some sort of problems with the Boost library. Any help would be great :). One last thing I noticed, the supplied libs in qtgui_deps_1.zip seem to be based on Boost 1.43, but 1.47 is mentioned in https://github.com/bitcoin/bitcoin/blob/master/doc/build-msw.txt. Perhaps I need to compile the libs myself with 1.47? Next question would be how to do that ^^.

Dia


Title: Re: developer help needed for compiling Bitcoin-Qt on Windows
Post by: Diapolo on March 20, 2012, 10:36:58 AM
Here is the log for MinGW 4.4:

Quote
./build\bitcoin.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/interprocess/detail/win32_api.hpp:1553: undefined reference to `_imp__VariantClear@4'
./build\util.o: In function `_static_initialization_and_destruction_0':
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path_traits.hpp:113: undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path.hpp:299: undefined reference to `boost::filesystem3::path_traits::convert(wchar_t const*, wchar_t const*, std::string&, std::codecvt<wchar_t, char, int> const&)'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path.hpp:363: undefined reference to `boost::filesystem3::path::root_name() const'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path.hpp:364: undefined reference to `boost::filesystem3::path::root_directory() const'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path.hpp:388: undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path.hpp:584: undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:223: undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:324: undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:443: undefined reference to `boost::filesystem3::detail::system_complete(boost::filesystem3::path const&, boost::system::error_code*)'
./build\util.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/path_traits.hpp:174: undefined reference to `boost::filesystem3::path_traits::convert(char const*, char const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::codecvt<wchar_t, char, int> const&)'
./build\main.o: In function `_static_initialization_and_destruction_0':
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
./build\main.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:432: undefined reference to `boost::filesystem3::detail::space(boost::filesystem3::path const&, boost::system::error_code*)'
./build\init.o: In function `_static_initialization_and_destruction_0':
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
./build\init.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:218: undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
./build\init.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:408: undefined reference to `boost::filesystem3::detail::remove(boost::filesystem3::path const&, boost::system::error_code*)'
./build\db.o: In function `_static_initialization_and_destruction_0':
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
./build\db.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/filesystem/v3/operations.hpp:300: undefined reference to `boost::filesystem3::detail::copy_file(boost::filesystem3::path const&, boost::filesystem3::path const&, boost::filesystem3::copy_option::enum_type, boost::system::error_code*)'
./build\bitcoinrpc.o: In function `_static_initialization_and_destruction_0':
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o: In function `error_code':
d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/system/error_code.hpp:315: undefined reference to `boost::system::system_category()'
./build\bitcoinrpc.o:d:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../include/boost/asio/error.hpp:216: undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [debug\bitcoin-qt.exe] Error 1
mingw32-make.exe: *** [debug] Error 2


Title: Re: developer help needed for compiling Bitcoin-Qt on Windows
Post by: Diapolo on March 20, 2012, 12:44:33 PM
OMFG what a mess as Windows user ^^, but I got it working, YES YES YES :D!

I compiled the 4 needed boost libs libboost_filesystem-mgw44-mt-1_47.a, libboost_program_options-mgw44-mt-1_47.a, libboost_system-mgw44-mt-1_47.a and libboost_thread-mgw44-mt-1_47.a with MinGW 4.4 and b2.exe (Boost.Build). Afterwards I replaced the 1.43 versions in the MinGW\lib folder and replaced mingw\include\boost with the files from the 1.47 package.

Now guess what, I can run Bitcoin-Qt and play with the code ... very nice. Any BC developer who is interested in help from the Windows side of the world in terms of testing something out or compiling new boost libs, I will be glad to help :).

I would like to contribute some compile fixes needed in bitcoin-qt.pro for compiling on Windows in the near future.

Dia


Title: Re: developer help needed for compiling Bitcoin-Qt on Windows
Post by: Gavin Andresen on March 20, 2012, 12:56:39 PM
I would like to contribute some compile fixes needed in bitcoin-qt.pro for compiling on Windows in the near future.
Great!  Pull requests to fix compiling-on-platform-X problems are always welcome (assuming they don't also break compiling on platform-Y).


Title: Re: compiling Bitcoin-Qt on Windows (solved - can a dev have a look inside ^^?)
Post by: Diapolo on March 20, 2012, 01:27:08 PM
I tried again with the supplied (qtgui_deps_1.zip) 1.43 boost libs, headers and the fixes for bitcoin-qt.pro, but that does not work, perhaps the current Qt SDK breaks this. When did this work the last time on Windows?

@Gavin the docs on github speak of 1.47 as the used boost version, is this true for Linux and Mac builds? Anything bad you can think of, if I use 1.47 on Windows, too?

Dia


Title: Re: compiling Bitcoin-Qt on Windows (solved - can a dev have a look inside ^^?)
Post by: Diapolo on March 21, 2012, 07:15:18 AM
Well I can run debug and release versions of bitcoin-qt.exe in the Qt creator just fine, but a standalone bitcoin-qt.exe does not work, as it's somehow compiled to dynamically link with certain libs (i.e. error mingwm10.dll is not installed on your system). The file size is ~7,6 MB, while the last official 0.6 RC4 has ~19,6 MB. Are there any hints how I can fix this.

I tried (did not work):

- compiled boost libs with "link=static runtime-link=static" enabled
- tried to force "-Wl,-Bstatic" in the .pro file, but this seems standard on Qt for Windows

Dia


Title: Re: compiling Bitcoin-Qt on Windows (solved - can a dev have a look inside ^^?)
Post by: Diapolo on March 21, 2012, 06:34:41 PM
Any compiler scientist, who is able to help?

Dia