Как построить 64-битное повышение для Visual Studio на окнах, используя флаг модели адреса? - PullRequest
1 голос
/ 14 июня 2019

Я пытаюсь создать boost на терминале x64 для Visual Studio, используя следующие инструкции: https://www.boost.org/doc/libs/1_62_0/more/getting_started/windows.html#get-boost

Я делаю:

boostrap

тогда

.\b2 address-model=64

но это всегда говорит:

C:\boost_1_70_0>.\b2 address-model=64
Performing configuration checks

    - default address-model    : 32-bit
    - default architecture     : x86

Building the Boost C++ Libraries.

...

и затем продолжает создавать 32-битные версии всего. Я знаю это, потому что, когда я пытаюсь использовать boost для таких вещей, как CMake, он жалуется, что его 32-битный:

C:\src\SimpleAmqpClient\simpleamqpclient-build>cmake -DBOOST_ROOT=C:\boost_1_70_0 -DBOOST_LIBRARYDIR=C:\boost_1_70_0\stage\lib ..
-- Found Boost 1.70.0 at C:/Program Files/boost/lib/cmake/Boost-1.70.0
--   Requested configuration: QUIET REQUIRED COMPONENTS chrono;system
-- Found boost_headers 1.70.0 at C:/Program Files/boost/lib/cmake/boost_headers-1.70.0
-- Found boost_chrono 1.70.0 at C:/Program Files/boost/lib/cmake/boost_chrono-1.70.0
-- No suitable boost_chrono variant has been identified!
--   libboost_chrono-mgw82-mt-d-x32-1_70.a (32 bit, need 64)
--   libboost_chrono-mgw82-mt-x32-1_70.a (32 bit, need 64)
CMake Error at C:/Program Files/boost/lib/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
  Found package configuration file:

    C:/Program Files/boost/lib/cmake/boost_chrono-1.70.0/boost_chrono-config.cmake

  but it set boost_chrono_FOUND to FALSE so package "boost_chrono" is
  considered to be NOT FOUND.  Reason given by package:

  No suitable build variant has been found.

Call Stack (most recent call first):
  C:/Program Files/boost/lib/cmake/Boost-1.70.0/BoostConfig.cmake:124 (boost_find_dependency)
  C:/Program Files/CMake/share/cmake-3.15/Modules/FindBoost.cmake:273 (find_package)
  CMakeLists.txt:35 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "C:/src/SimpleAmqpClient/simpleamqpclient-build/CMakeFiles/CMakeOutput.log".

Так что да, как я могу собрать 64-битную версию?

Ответы [ 2 ]

1 голос
/ 15 июня 2019

См. Ответ, который я дал здесь: Как собрать Boost 1.64 в 64 битах?
Если вы хотите явно указать набор инструментов, тогда Visual Studio 2019 - это toolset=msvc-14.2

Примечание: убедитесь, что вы собрали его из Visual Studio tools Command Prompt
и проигнорировали вывод - default address-model : 32-bit на консоли, он создает 64-битные двоичные файлы.

0 голосов
/ 26 июня 2019

См. мое руководство для получения подробных инструкций о том, как создать 64-разрядную версию Windows 10 в Visual Studio 2019 с поддержкой Python и MPI.

Также может иметь значение синтаксис.Возможно, потому что вы не использовали --, оно игнорируется.

b2 --address-model=64

Я использую больше опций.Смотрите руководство, которое я связал.

...