Повышение компиляции с MSVC 11 (VS 2012)
Как собрать Boost (я пробовал версию 1.48.0) с Visual Studio C++ 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.
РЕДАКТИРОВАТЬ: Ответ Ferruccio работает для VS 2012 Express и Boost 1.51.0 тоже.
6 ответов
Мне удалось собрать его, выполнив следующие действия:
- Откройте командную строку Visual Studio. Из меню "Пуск" это: Все программы |Microsoft Visual Studio 11| Собственная командная строка x64.
- Разархивируйте boost_1_48_0.zip и установите рабочий каталог boost_1_48_0
- запустить bootstrap.bat
- запустить bjam.exe
Он генерирует много предупреждений о невозможности определить версию инструментария, но все равно работает.
Обновление: я создал репозиторий GitHub под названием cclibs, который упрощает сборку Boost и некоторых других библиотек C++.
Этот ответ прекрасно работает для:
VS2012
(Visual Studio 2012, обновление 2)- или же
VS2015
(Visual Studio 2015, обновление 2)
- или же
- Windows 7 x64
- или Windows 10 x64
- Boost v1.53
- или Boost v1.60
В двух словах
- Откройте командную строку 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
, - Щелкните правой кнопкой мыши на проекте, выберите
Properties
, ВыбратьConfiguration Properties..VC++ Directories
, Смотрите две части выделенного текста на скриншоте ниже): Давайте запустим простую программу, которая демонстрирует силу наддува, добавив поддержку
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!
Больше ответов
- См. Boost-компиляция с MSVC 11 (VS 2012).
- См. Официальные документы Boost по компиляции с Visual Studio под Windows.
Обновление 2016-05-05
Проверено с Win10 x64
+ VS2015.2
+ Boost v1.6.0
,
Проверьте правильность установки, подтвердив вывод следующей команды:
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
Не пропустите его пост, посвященный автоматическим ссылкам.
vs2012 ОШИБКА: невозможно определить местоположение папки VS Common Tools.
vcvarsall.bat нужно вызвать "reg.exe", который находится в "C:\windows\system32 \". если не в пути поиска, вызовет эту ошибку.
Добавление C:\windows\system32 в%PATH% решит проблему.
В дополнение к ответам, приведенным выше, я считаю, что BlueGo действительно полезен для создания улучшенных версий с MSVC 10/11/12. Вы можете выбрать различные конфигурации и просто выбрать сборку, и это делает свое дело.