Post
Topic
Board Development & Technical Discussion
Re: Ported Bitcoin 0.8.6 to VS2012 (32 and 64 bit) and Qt5
by
old c coder
on 15/01/2014, 16:27:58 UTC

That defeats the whole spirit of the libraries.  They should be separate static library builds to allow a simple rebuild of a newer library version, e.g. OpenSSL 1.0.1e in place of 1.0.1c.  Rebuild the MSVC static library project (minutes at the most) and simply relink the bitcoin project.  Keeping versions straight without library names would seem to quickly lead to insanity, don't you think?
....

I don't say you are not correct, but what you are saying in your post (also further down) is not exactly universal experience. Maybe you are very skilled in compiling and have working experience with 3rd party open source libraries, but it's not like this for many other people. Many programmers who knows only Visual Studio will not go to the end of the process successfully...to sum it up, you are making it easier that it is (I mean for new people especially).

Also, replacing the library with newer version don't always work. (for example with QT).

In my work, we have a source tree, and all 3rd party libraries are there, so you know exactly what you are compiling. That's especially helpful when someone new comes to a team - he just download the tree and compiles it from the root, and don't have to fiddle with installing this and installing that. And it doesn't take any more time during normal development, since those libs are compiled only once (the sources doesn't change). But I understand that the open source culture is different in this regard, it's more of a meritocracy. (I have better bragging rights, since I know more ;-)).

Anyway, the more important question is, how do we convince the main bitcoin developers to include visual studio support into the main development branch. ;-)

Hello greyman,

I see no problem with separate Github projects for building the static libraries for the four libraries in question.  But it should not be part of the bitcoin project on GitHub.  This is because those libraries were not created for bitcoin per se, they are for many projects.  Also, the build of a static (or dynamic) library may be (?) specific to the version of MSVC++ one is using!  At least the guides for building them at BerkeleyDB, Boost and OpenSSL seem to think so!  You cannot force someone to use a particular version of MSVC++ unless you have hired him (or her) and even then you may get flak Grin

As to separate GitHub projects, Phelix did something like that for gcc, see
https://github.com/phelixbtc/bitcoin/tree/0.8.5-EWB and the (now modified) original work by nitrogenetics
https://bitcointalk.org/index.php?topic=149479.msg1587734#msg1587734
I think there is a GitHub of that too.

I think a better solution would be to do videos for each of the four! Sort of like a walk-through for a video game Grin  Furthermore, a video would show the principles for MSVC "static librarying" independent  of VC version!

Today's Zen calendar is very appropriate:


I know we have dumbed down the educational system, but must we do it to software development too?

Just my $0.02

Ron