2008-11-19 3 views
44

Я много раз создавал библиотеки x86 Boost, но я не могу создать библиотеки x64. Я начинаю «Visual Studio 2005 x64 Cross Командная строка» и запустить свой обычный билд:Как вы создаете библиотеки x64 Boost в Windows?

bjam --toolset=msvc --build-type=complete --build-dir=c:\build install 

Но до сих пор производит x86 .lib файлы (я проверил это с Dumpbin/заголовков). Что я делаю неправильно?

ответ

57

Необходимо добавить параметр address-model=64.

Посмотрите, например. here.

+2

Этот ответ также действителен для новой инструмент подталкивание сборки, `b2`. – anderas 2016-05-25 08:55:31

2

Принятый ответ является правильным. Добавляя это, если кто-то другой выполнит этот ответ и все еще не сможет создать версию x64.

Ниже приводится то, что я должен был сделать, чтобы построить Boost 1.63 на VS 15 2017 Community Edition.

Команды, выполненные из оболочки VS оболочки CMD. Инструменты -> Visual Studio Command Prompt

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) ... 

 Смежные вопросы

  • Нет связанных вопросов^_^