Binaries for cpp-netlib - c++

I would like to know if it is possible to get the binaries for the static library for windows (x86 and x64) now present in cpp-netlib for the version 0.9.1?
Frankly it is a pain to compile this on windows for me.
Thanks

New version's of cpp-netlib now do require building. I have answered how to build it on here

It seems that cpp-netlib is a header-only library, although it relies on some boost compiled libraries, such as Boost.System, Boost.Date_time, and Boost.Regex. You can easily find boost pre-compiled libraries all over the Internet. You will also need the boost headers to be in your build path as well. Even though cpp-netlib says that Boost 1.41.0 will do, in actuality, version 0.9.1 requires Boost version 1.46.0 or later (just grab the latest which is 1.47.0).
You could also try defining BOOST_NETWORK_NO_LIB which should help out.

Related

GMP - Certain Functions not declared, others are? C++/MinGW

In windows 'm building a C++ project that I have working in Linux that uses the GMP library. I am using the precompiled static MinGW library and include files from here - http://cs.nyu.edu/~exact/core/gmp/index.html
Everything seems to go well (mpz_init, mpz_mul, etc.) except when I get to mpz_powm_sec().
mpz_powm_sec(m, c, d, n);
That line gives:
error: 'mpz_powm_sec' was not declared in this scope
Yet none of my other references to GMP do. Does anyone know why this is happening and what I can do to make it compile?
The official website for GMP is https://gmplib.org/. The version you downloaded from that third-party website is more than 12 years old, the library has evolved quite a bit since then.
Notwithstanding the official GMP website at https://gmplib.org, the canonical source for precompiled binaries for use with MinGW.org's compiler tool chain is the SourceForge repository at https://sourceforge.net/projects/mingw/files/; the latest MinGW build of GMP is https://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/gmp-5.1.2/, (you will need the "-dev" package, for headers and import libraries, and likely the "-dll" for runtime bindings).
If you use binaries which have been prepared by the MinGW developers themselves, they will have been tested in conjunction with MinGW; if you grab third party builds, they may well be out of date, may not work, and you're pretty much on your own.

Build boost with zlib support linked dynamically

I have troubles with building boost libraries.
I am using version 1.55 on OS Win7.
According to documentation and another thread I found switches that work to build boost with zlib support.
I haven't found a way, how to build boost (static or dynamic) libraries with zlib being external dependency, and will be shipped with my application. In that way, any user can build/change his own zlib, as long as the interface is unchanged.
I such thing possible? Does boost support dynamic zlib linkage?
Finally, I was able to solve the problem with the following.
There is a bug in versions 1.55 and above. Building static libraries can be done using older jamfile (1.53).
For the dynamic library, you need to add zlib.cpp to your project and compile.
With dynamic, meaning there is only zlib.dll linked directly to your project.

how to upgrade c++ builder 2010 boost libs

As far as I know ERS C++ Builder 2010 comes with Boost libraries. During installation it will also install Boost libraries.
As new libraries will be realeased or modified(optimized), it gets me to upgrade to the latest version.
So i'm asking can i do this by replacing boost directory?
It's not as simple as updating the $(CG_BOOST_ROOT) directory with a new boost.
See this question previously asked on SO.
Someone could put the effort in, and it could be possible to run many of the latest boost libraries with bcc. (and hopefully submit those changes back to boost) That hasn't really happened yet.
However, even with a Herculean effort there are some constructs used by boost that bcc just doesn't handle yet, so there will be some boost libraries that won't be usable by bcc.

Using Boost Graph Library on Mac Eclipse

I have a similar question regarding using Boost under Windows. I'm very new to Boost and I just installed the Boost library on my Mac, I'm interested primarily in the Boost Graph Library. My questions are as follows, when installing Boost by default on my Mac, is the BGL installed automatically as well? I ask this because the Boost website talks about the BGL being a header-only library that does not need to be built. My next question is, how do I access the BGL and use it in Eclipse on Mac?? Your help is appreciated.
I have used the Boost Graph Library on Windows and on several Unix flavors, but not on Mac. But I think my comments are relevant nevertheless.
You are confusing the library being installed with the library being built. When you installed Boost on the Mac, the BGL is also "installed", in the sense that the BGL headers are copied the Boost's include directory.
In order to use the BGL you do not have to build and link to a library or dll (or whatever they are called on Mac). All the code is in these header files, and will be pulled into your code when you #include it.
As to eclipse. I do not know.

Move C++ app with Boost from Linux to Windows with Visual Studio 6

I made a small program with Boost in Linux 2 yrs ago. Now I want to make it work in Windows. I found there are few .a files in my libs folder. I am wondering how to make it works in Windows? do I need to build Boost in Windows to get library or I can download somewhere? I am using Visual Studio 6.
Yes, you'll need to recompile for different platforms. Coincidentally, I posted instructions on this not long ago.
I hugely recommend you do not use Visual Studio 6. It's very dated, and terribly non-conforming. You can get the newer versions for free, as Express. You won't be missing anything.
Many boost libraries are header-only, you don't need to link against anything to use them. Libraries such as boost::filesystem require you to build libs appropriate for your platform and link against them.
Precompiled boost for MSVC7,8,9 can be found here (in the hope that you follow GMan's advice and get rid of VS6 …)
.a files from Unix are like .lib files in Windows. They will not work, and there is no way of "converting" them, short of using a compiler on the original source code.
However, Boost does build on Windows. Just download it (or more likely, the closest version you can find to the one your code was using).
Older versions of Boost did work under VS6, but with a whole lot of stuff disabled (VS6 really just barely qualified as a C++ compiler). If you can, I highly suggest you use a newer version of Visual Studio.
You have a few options. Building Boost will give you the greatest flexibility in working with your application and boost libraries. However, you can download pre-built Boost libraries wrapped up in a nice windows installer here, Boost Packages
But one thing to keep in mind, depending on what you used in Boost, a lot of it is template based so no libraries are required. If you're only using some templatized portions, you don't need to worry about any of this. Just make sure you have boost in your include path when building.
As a side note, you can get free but limited versions of newer MS compilers here: http ://www.microsoft.com/exPress/