Building libfossil with Microsoft Visual C++ Workspaces/Solutions are included to facilitate building libfossil on these platforms: * Visual C++ 6.0 32-bit only * Developer Studio 2010 32-bit, and 64-bit (AMD) * Developer Studio 2012 32-bit, and 64-bit (AMD) These configurations will create Dll versions of libfossil. Static libraries are not provided at this time due to a potential, albeit unlikely, consequence of a version mismatch issue in the sqlite used internally, and sqlite that may be use by clients. However, if you need static linkage, you can achieve the same net result by using the 'amalgamation' build (which is a source distribution). Caveat: to produce the 'amalgamation' build, you will need a build environment with autoconf tools, such as Linux. In that environment ./configure --disable-shared --no-long-long cd src make amal This will produce three files: libfossil-config.h libfossil.h libfossil.c which constitute the entire library. Dependencies: zlib sqlite3 (if building with amalgamation; the dll builds have their own copy) Build Environment Setup You may alter the projects' 'include' and 'libs' paths to suit your environment, or you may set up your environment to match what has already been configured. The projects are set up to assume a sibling directory named '3rdparty' exists containing includes and libs for dependencies (just zlib at present). The structure, as defined in the project files, allows for fine granularity if you need it, to accommodate things like disambiguating libs that have the same name in debug and release, or for ia386 and amd-64 binaries, etc. You don't have to make the whole tree, you can just make the parts that you want, but here is the full explanation, so you can decide. The full structure is: this path is intended for architecture-neutral files (e.g. source distributions) \3rdparty\include \3rdparty\lib this path (and sub paths) is intended for x86 (32-bit) binaries and headers \3rdparty\x86\include \3rdparty\x86\lib This path is intended for x86 debug binaries and headers \3rdparty\x86\Debug\include \3rdparty\x86\Debug\lib This path is intended for x86 release binaries and headers \3rdparty\x86\Release\include \3rdparty\x86\Release\lib this path (and sub paths) is intended for AMD-64 (64-bit) binaries and headers \3rdparty\x64\include \3rdparty\x64\lib This path is intended for AMD-64 debug binaries and headers \3rdparty\x64\Debug\include \3rdparty\x64\Debug\lib This path is intended for AMD-64 release binaries and headers \3rdparty\x64\Release\include \3rdparty\x64\Release\lib The projects are configured to use all the paths mentioned above that are pertinent to the configuration, in order of greater to lesser specificity. f-apps The test/demo apps have configurations located in subdirectories of f-apps, as per development platform. Running f-apps These programs assume to be operating in an open checkout (meaning your libfossil.fossil is still 'opened'). And that the current working directory is f-apps. You will need to set this directory in your project's 'debugging' section, because that is not a setting that is persisted in the project files checked into the repo. This would be '..' for Visual C++ 6, and '$(ProjectDir)..\' for the various Developer Studios. To run the apps, you will also need to have the relevant dll in place. As a convenience, there is a batch file placelibs.bat which will copy the dll into place, so you can run or step the code in the debugger. END