Ответ 1
Вам нужно добавить параметр address-model=64
.
Посмотрите, например. здесь.
Я много раз наращивал библиотеки x86 Boost, но я не могу создать библиотеки x64. Я запускаю "Visual Studio 2005 x64 Cross Tools Command Prompt" и запускаю свою обычную сборку:
bjam --toolset=msvc --build-type=complete --build-dir=c:\build install
Но он все еще создает x86.lib файлы (я проверил это с помощью dumpbin/headers). Что я делаю неправильно?
Вам нужно добавить параметр address-model=64
.
Посмотрите, например. здесь.
Принятый ответ правильный. Добавление этого в случае, если кто-то еще погуглит этот ответ и все еще не сможет создать версию для x64.
Вот что мне нужно было сделать, чтобы собрать Boost 1.63 в Visual Studio 15 2017 Community Edition.
Команды, выполненные из среды VS cmd shell. Сервис → Командная строка Visual Studio
C:\Work\Boost_1_63> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat amd64
C:\Work\Boost_1_63> bootstrap.bat
C:\Work\Boost_1_63> bjam -j4 architecture=x86 address-model=64 link=static stage
C:\Work\Boost_1_63> bjam --prefix=C:\opt\boost architecture=x86 address-model=64 link=static install
Вы можете проверить, что полученный .lib x64 с помощью dumpbin:
C:\Work> dumpbin /headers C:\work\boost_1_63\stage\lib\libboost_locale-vc140-mt-1_63.lib | findstr machine
8664 machine (x64)
8664 machine (x64)
8664 machine (x64)
8664 machine (x64)
...
Вы можете найти следующее свойство Boost.Build:
address-model=64