How to create Boost 1.55 with Visual Studio 2013?

I am trying to create Boost 1.55 with Visual Studio 2013.

1) I tried using boost-binaries ( boost-binaries ), but Visual Studio wrote about the error when I tried to compile:

error LNK1104: cannot open the file 'Libboost_serialization-vc120-mt-gd-1_55.lib. I used boost_1_55_0-msvc-12.0-32.exe or 1.55.0-build2 (boost-binaries).

I did not find this .lib file in the boost_1_55_0 \ lib32-msvc-12.0 directory.

2) I also tried using this program BlueGo 0.1.7 ( BlueGo ). It works very smoothly and creates all the libraries I need.

The problem is that it creates such .lib files:

libboost_serialization-vc110-t-gd-1_55.lib

But I use Visual Studio 2013 and I want to use the vc120 compiler version instead of vc110, an error occurs by mistake.

3) In the end, I decided to create the dll / lib files myself.

I used the following guide on the boost site: Simplified assembly from source .

If you want to create source code using Visual C ++, you can use the simple build procedure described in this section. Open a command prompt and change the current directory to the root directory of Boost. Then enter the following commands:

bootstrap .\b2 

Above, I wrote what I need to do.

I launched the "VS2012 x86 Native Tools Command Prompt", changed dir to the root directory of boost, and entered the command:

 bootstrap 

Immediately I got an error:

 C:\thirdparty\vs2013\x86\boost_1_55_0>.\bootstrap.bat Building Boost.Build engine Failed to build Boost.Build engine. Please consult bootstrap.log for furter diagnostics. You can try to obtain a prebuilt binary from http://sf.net/project/showfiles.php?group_id=7586&package_id=72941 Also, you can file an issue at http://svn.boost.org Please attach bootstrap.log in that case. 

In the log file, I noticed the following error:

execnt.c (56): fatal error C1083: cannot open include file: 'tlhelp32.h': No such file or directory

Bootstrap.log file:

 ### ### Using 'vc12' toolset. ### C:\thirdparty\vs2013\x86\boost_1_55_0\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap C:\thirdparty\vs2013\x86\boost_1_55_0\tools\build\v2\engine>md bootstrap C:\thirdparty\vs2013\x86\boost_1_55_0\tools\build\v2\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c command.c compile.c constants.c debug.c execcmd.c execnt.c execnt.c(56) : fatal error C1083: Cannot open include file: 'tlhelp32.h': No such file or directory filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c Generating Code... Compiling... option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c Generating Code... Compiling... native.c set.c path.c regex.c property-set.c sequence.c order.c Generating Code... 

I tried to check if this file existed or not ('tlhelp32.h'). I created a project and included the file ('tlhelp32.h'). It compiles without errors.

4) I also tried to rename

libboost_serialization-vc110-t-gd-1_55.lib

to

libboost_serialization-vc120-t-gd-1_55.lib

But Visual Studio again threw the error.

 Error 1 error LNK1104: cannot open file 'libboost_serialization-vc120-mt-gd-1_55.lib'. 

Could you tell me what the problem is and how to create Boost 1.55 using Visual Studio 2013?

Thanks in advance!

+8
c ++ boost visual-studio-2013 linker-errors boost-build
source share
5 answers

The paths set for the include variable point to Windows 8.0 instead of Windows 8.1.

The file that you mention in Visual Studio 2013 and Windows 8.1 should be found in the following path:

 C:\Program Files (x86)\Windows Kits\8.1\include\um 

I changed the INCLUDE variable:

 INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.0\include\um;C:\Program Files (x86)\Windows Kits\8.0\include\winrt 

in

 INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;C:\Program Files (x86)\Windows Kits\8.1\include\winrt 
+3
source share

Release step by step and first create a boost build system.

"I am including the file ('tlhelp32.h'). It compiles without any errors."

So, this file is present on the disk. Environment variables are set differently for cl.exe, which is started by bootstrap.bat. You can search for the files found by cl.exe in the INCLUDE env variable. Locate tlhelp32.h on disk and at the Visual Studio command prompt add this path to INCLUDE:

 set INCLUDE=%INCLUDE%;<path to tlhelp32.h> 

If some .libs are not found, see the LIBPATH env variable.

I believe that VS2013 vcvars * .bat files did not install the environment properly.

+2
source share

A library to increase the level of filling is really a headache. So this is what I found and found this problem in it;

I had the same error and followed SourceForge . The link will lead you to the zipped lib folder and the dll files for the boost.You version can download and unpack the linked library, and by copying it to the appropriate location, everything will be fine;)

Using a 2010 or 2012 configuration in a project file would be better. As I know, 2013 is not yet convenient for 1.55.

0
source share

Visual Studio 2013 (in my case, it is Visual Studio 2013 Express with Update 4) does not seem to include tlhelp32.h. I just sent a bug report about this problem. To solve this problem, I installed the Windows SDK in addition to Visual Studio (in my case it was the Windows 8.1 SDK).

0
source share

if you are using Windows 8.1, open the vs2012 x86 Tool command prompt, type

 echo %WindowsSdkDir% 

if you see it below

 C:\Program Files (x86)\Windows Kits\8.0\ 

this means that vcvars32.bat sets the wrong INCLUDE variable for you, which is marked as an error in ms website so the solution is:

change vcvars32.bat, replace

 %WindowsSDKDir%\include\um; 

to

 C:\Program Files (x86)\Windows Kits\8.1\include\um; 

other solutions are modified by VS2012 x86 Native Tools Command Prompt.link, copy and paste vs2012 x86 Native Tools Command Prompt, right-click, change the link, replace all

 Microsoft Visual Studio 11.0 

to

 Microsoft Visual Studio 12.0 

open the link, try building boost

0
source share

All Articles