Подтвердить что ты не робот

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.

4b9b3361

Ответ 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
    • или Windows 10 x64
  • Boost v1.53
    • или Boost v1.60

В двух словах

  1. Откройте командную строку Visual Studio 2012. Из меню "Пуск": All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  2. Распакуйте boost_1_53_0.zip в C:\boost153.
  3. запустить bootstrap.bat
  4. запустить bjam.exe
  5. В любом новом проекте C++ укажите путь к библиотекам Boost, как показано на скриншоте ниже.

(необязательно) Пошаговые инструкции

  1. Установите Visual Studio 2012.
  2. Установить обновление 2.
  3. Загрузите Boost с SourceForge.
  4. Разархивируйте в "C:\boost153"
  5. Откройте командную строку Visual Studio с правами администратора. Из меню "Пуск" в меню " All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  6. Перейдите в каталог boost с помощью cd c:\boost153.
  7. Запустите bootstrap.bat.
  8. Запустите bjam.exe. Это создает все библиотеки.
  9. Там могут быть некоторые предупреждения, но вы можете игнорировать их.
  10. Когда он завершает компиляцию примерно через 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
    
  11. Это важно, нам нужно будет добавить эти два пути в любой новый проект C++.

  12. Создайте новый проект C++.
  13. Как отмечалось пару шагов назад, добавьте C: /boost153 в compiler include path и C:\boost153\stage\lib в linker library path к linker library path.
  14. Щелкните правой кнопкой мыши по проекту, выберите " Properties, выберите " Configuration Properties..VC++ Directories. Смотрите две части выделенного текста на скриншоте ниже): enter image description here
  15. Давайте запустим простую программу, которая демонстрирует мощь наддува, добавив поддержку циклов 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;
    }
    
  16. Результат:

    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. Вы можете выбрать различные конфигурации и просто выбрать сборку, и это трюк.