Boost компиляция с MSVC 11 (VS 2012)
Как создать Boost (я пробовал версию 1.48.0) с Visual Studio С++ 11? bootstrap.bat
не может найти набор инструментов vc11
. Я добавил набор инструментов vc11 в F:\Programming\boost_1_48_0\tools\build\v2\engine\build.bat
, но получил сообщение:
ERROR: Cannot determine the location of the VS Common Tools folder.
EDIT: Ответ Ferruccio работает и для VS 2012 Express и Boost 1.51.0.
Ответы
Ответ 1
Мне удалось создать его, выполнив следующие шаги:
- Откройте командную строку Visual Studio. В стартовом меню это: Все программы | Microsoft Visual Studio 11 | Встроенная командная строка x64.
- Unzip boost_1_48_0.zip и установите рабочий каталог в boost_1_48_0
- запустить bootstrap.bat
- запустить bjam.exe
Он генерирует много предупреждений о невозможности обнаружить версию инструментария, но она все равно продолжается.
Обновление: Я создал репозиторий GitHub под названием cclibs, что упрощает создание Boost и некоторых других С++ библиотеки.
Ответ 2
Этот ответ прекрасно работает для:
-
VS2012
(Visual Studio 2012, обновление 2) - или
VS2015
(обновление 2 для Visual Studio 2015)
- Windows 7 x64
- Boost v1.53
В двух словах
- Откройте командную строку Visual Studio 2012. Из меню "Пуск":
All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
. - Распакуйте
boost_1_53_0.zip
в C:\boost153
. - запустить
bootstrap.bat
- запустить
bjam.exe
- В любом новом проекте C++ укажите путь к библиотекам Boost, как показано на скриншоте ниже.
(необязательно) Пошаговые инструкции
- Установите Visual Studio 2012.
- Установить обновление 2.
- Загрузите Boost с SourceForge.
- Разархивируйте в "C:\boost153"
- Откройте командную строку Visual Studio с правами администратора. Из меню "Пуск" в меню "
All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
. - Перейдите в каталог boost с помощью
cd c:\boost153
. - Запустите
bootstrap.bat
. - Запустите
bjam.exe
. Это создает все библиотеки. - Там могут быть некоторые предупреждения, но вы можете игнорировать их.
-
Когда он завершает компиляцию примерно через 5 минут, он заявляет:
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
C:/boost153
The following directory should be added to linker library paths:
C:\boost153\stage\lib
-
Это важно, нам нужно будет добавить эти два пути в любой новый проект C++.
- Создайте новый проект C++.
- Как отмечалось пару шагов назад, добавьте
C: /boost153
в compiler include path
и C:\boost153\stage\lib
в linker library path
к linker library path
. - Щелкните правой кнопкой мыши по проекту, выберите "
Properties
, выберите " Configuration Properties..VC++ Directories
. Смотрите две части выделенного текста на скриншоте ниже): ![enter image description here]()
-
Давайте запустим простую программу, которая демонстрирует мощь наддува, добавив поддержку циклов foreach
:
// Source code below copied from:
// http://www.boost.org/doc/libs/1_53_0/doc/html/foreach.html
#include "stdafx.h"
#include <string>
#include <iostream>
#include <conio.h> // Supports _getch()
#include <boost/foreach.hpp>
int main()
{
std::string hello( "Hello, world!" );
BOOST_FOREACH( char ch, hello )
{
std::cout << ch;
}
_getch();
return 0;
}
-
Результат:
Hello, world!
Больше ответов
Обновление 2016-05-05
Проверено с Win10 x64
+ VS2015.2
+ Boost v1.6.0
.
Ответ 3
bootstrap.bat
bjam.exe --toolset = msvc-11
Ответ 4
Проверьте правильность установки, подтвердив вывод следующей команды:
C:\>echo %VS110COMNTOOLS%
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
Ниже приведены некоторые простые инструкции, чтобы избавиться от предупреждений при загрузке: http://landoftheninja.blogspot.com/2011/11/visual-c-11-and-boost.html
Не пропустите его последующее сообщение, касающееся автоматической привязки.
Ответ 5
vs2012 ОШИБКА: не удается определить местоположение папки VS Common Tools.
vcvarsall.bat нужно вызвать "reg.exe", который в "C:\windows\system32 \".
если не в пути поиска, вызовет эту ошибку.
Добавить C:\windows\system32 в% PATH% решит проблему.
Ответ 6
В дополнение к вышеприведенным ответам, я нахожу BlueGo действительно полезным для создания более мощных версий с MSVC 10/11/12. Вы можете выбрать различные конфигурации и просто выбрать сборку, и это трюк.