Post
Topic
Board Development & Technical Discussion
Re: Building headless Bitcoin and Bitcoin-qt on Windows
by
Claire123
on 13/01/2014, 17:45:26 UTC
And I have news for you.  I have an addrman.h - serialize.h solution that compiles! Shocked
The reason MSVC++ gets ill at addrman.h as you say:

was not only those extra (()); around the big IMPLEMENT_SERIALIZE(...) macro in the CAddrMan class, that implements GetSerializeSize() Serialize() and Unserialize(), but also the extra complexity of the imbedded std::map mapUnkIds;!?

When the map<> is "levitated out" of the macro and placed in the #define IMPLEMENT_SERIALIZE(statements) macro in serialize.h the compiler hums!

Thanks Ron! Smiley I will try this--do you have those two files online somewhere so I can see exactly what you mean?   If I remove the extra parens, the MSVC preprocessor actually truncates the source so I think I have a good case for opening up a MS tech support ticket but I can't stomach that right now.

Quote
I am very curious, needless to say, how you have built your levelDB static .lib file! 

I built the whole 0.8.6 source from the distribution in the setup file, which includes the levelDB source--I never went to google to get it.  In other words, I installed 0.8.6 Bitcoin and used the src directory that ships with the installation.  I never had trouble building levelDB but I did create the project file from scratch.  I have no idea if my port of Bitcoin would pass all regression tests but it seems to work for me on testnet.

Also, to continue from my personal message, one of the reasons I am publishing this is because I would like to see the mainstream financial world take a closer look at Bitcoin.  I know from experience that many mainstream corporate software developers (at least the ones I know) will *NOT* enthusiastically embrace MinGW, gcc, etc, unless, maybe, if it involved Android.  But on Windows?? No way.   But the main reason is because I wanted to learn how it works and MSVC is great for stepping through code in debug.   And then I thought it would be nice if I share my work Smiley