Ever since I started using boost on Windows with Visual Studio 2010 I just downloaded the binary package available on BoostPro as recommended by the boost documentation. I'm currently at Boost 1.51 and would like to upgrade to Boost 1.55. Now since BoostPro is no longer offering these packages, is there a substitute method to install the binary package or do I now need to build boost myself?
I see at http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html the statement:
The most reliable way to get a copy of Boost is to download
boost_1_55_0.7z or boost_1_55_0.zip and unpack it to install a
complete Boost distribution
Will this be equivalent to the Boost Pro binaries I used to download or will this still require building stuff?
Then I also found http://sourceforge.net/projects/boost/files/boost-binaries/. Overall I'm confused. Basically I'd like a simple installation like BoostPro used to offer if that is still available.
You can use the binaries from http://sourceforge.net/projects/boost/files/boost-binaries/. They will work OK provided you pick up proper configuration of your compiler. Note that MSVC 2013 has some issues with some of Boost versions.
These binaries are not guaranteed to work because your compiler or STL can be customized in various ways. That is why Boost recommends to compile the package locally.
Related
We are currently using CUDA on windows which requires MS C++ Build tools installed. With every new version of the CUDA toolkit it happens that newer versions of Visual Studio are not supported. That's why we are using the MS build tools seperately so that the VS version doesn't matter.
Since its hard to guide our developers to install the right CUDA and MSVC version we have packaged it into NUGET packages so that the toolkit (especially NVCC) is in a defined version and location. Additionally we wanted to do this with MSVC but we couldn't find a good solution since the installer obviously does modifications on several places that we don't know.
Is there any good way to get the MSVC tools portable so that we can simply drop it into a folder and put the right pathes?
NVCC doesn't support GCC, otherwise I would have gone with this.
I'm trying to use the boost's multi-precision math library. I'm using visual studio 2017 CE with the latest version and compiler setting to latest draft standard. I have the newest version of boost installed and working 1.66. However, one of boost headers includes gmp.h. So I went to GNU's GMP site and downloaded the library, and extracted it to a folder where I want the library to reside.
I was reading through their documentation on how to install the library, but it is completely lacking in any directions for installing on windows. The only thing it does mention under windows is mingw in which I'm not using. I'm using visual c++.
Is there any way to resolve this in order to use boost's multiprecision headers?
I've been reading up a little bit about the MPFR library; if I install that instead of GMP will that take care of the needed files to successfully compile, link and build the boost's mp library?
Here is my goal: being able to have the opencv library in x86 (32bits) using VisualStudio
Here is my problem: by following this tutorial http://dogfeatherdesign.com/opencv-3-0-microsoft-visual-studio-2015-cmake-and-c/
or this one http://amin-ahmadi.com/2015/12/04/how-to-build-opencv-from-source-for-vc14/
even with this version http://amin-ahmadi.com/2015/12/22/how-to-build-opencv-310-msvc2010-vc10-x86/ (which take care of the fact that new versions of OpenCV don't have precompiled libraries for the x86) I had to build it from scratch.
And in each case, after having successfully generated a VS file from opencv, the compiler (after 5minutes of compilation) tells me the following error: "LNK112 module machine type x64 conflicts with target machine type x86".
Nevertheless, I didn't compile either with the x64 or x86 solution platform, but only Win32. Hope to have given enough details, thank for the help! :)
I actually fond the answer: after having installed python 64 bits, cmake linked this library automatically, which was the cause of the error. Since I didn't need opencv for python I just reconfigured the project with cmake, generated it, and it worked with no error.
I am using visual studio 2010.
Before starting my project, I installed cuda SDK 4.2.
After that, I installed opencv 2.4.2. In my project, I'm using only opencv and it works correctly. However, when I try to run my program on another computer it tells me that cuda dll (like cudart32_42_9.dll, npp32_42_9.dll and nvcuda.dll) are needed. I don't use at all cuda and do no reference in my project property to cuda. I would like to know how to remove those dependency. I don't understand why visual studio add dll I don't use.
The pre-built OpenCV 2.2 onwards, comes with 2 versions of the binaries (dlls).
The dlls in the \build\gpu directory are the superset and are built with CUDA support. Therefore, to use them you require the CUDA Runtime dlls (cudart, npp etc). These binaries are required if you want to use the GPU functionality of OpenCV. These may also be used to check if you have a GPU present in your system or not.
The other version of dlls which are present in the x86 or x64 folder in the build directory of OpenCV, are built without CUDA support (although a gpu dll is also present in that directory). You don't need cuda dlls to use these binaries.
Both of these versions are built with Intel Thread Building Blocks support, and so require tbb_debug.dll and tbb.dll for Debug and Release configurations respectively. So if you use the CPU functions of OpenCV, they will be TBB Accelerated.
That is, can I get away with DLLs in the install directory or does the installer need to ensure that MingW is fully installed?
If you install the Qt SDK, it will actually install its own MinGW tree.
This does not directly answer your question, but generally speaking, to ensure I have all the right dependencies when creating an installer, I do the following:
Use Depends, a Microsoft tool that shows what DLLs a Windows executable (.exe or another .dll) depends on. This will not show dynamically loaded DLLs though, such as QT plugins. I believe Depends is part of the Platform SDK (it used to be, anyway), which you should be able to download. See here for example.
Use a virtualization tool (like VirtualBox or VMWare) to install a fresh copy of Windows and your application. If it complains of missing DLLs on startup, you missed something in the install package.
You should be aware of any dependencies on the Visual C++ run-time. There are many different versions out there, and if your app depends on them, you need to install the correct version to the Windows\WinSxS directory. Microsoft provides a redistributable for each version of Visual C++ (including the express edition, which you can get for free). I only mention this because I noticed when installing Qt SDK that the VC++ redistributable was getting installed, so the Qt DLLs may have a dependency on the VC++ run-time.