web-dev-qa-db-fra.com

Comment créez-vous les bibliothèques x64 Boost sous Windows?

J'ai construit les bibliothèques x86 Boost plusieurs fois, mais je n'arrive pas à construire des bibliothèques x64. Je démarre l '"invite de commande des outils croisés Visual Studio 2005 x64" et j'exécute ma version habituelle:

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

Mais il produit toujours des fichiers x86 .lib (je l'ai vérifié avec dumpbin/headers). Qu'est-ce que je fais mal?

49
Ferruccio

Vous devez ajouter le address-model=64 paramètre.

Regardez par exemple ici .

59
macbirdie

La réponse acceptée est correcte. Ajout de cela au cas où quelqu'un d'autre googlerait cette réponse et ne parviendrait toujours pas à produire la version x64.

Voici ce que je devais faire pour construire Boost 1.63 sur Visual Studio 15 2017 Community Edition.

Commandes exécutées à partir du shell cmd de l'environnement VS. Outils -> Invite de commandes 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

Vous pouvez vérifier que le .lib résultant est x64 avec 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) 
...
5
Teemu Ikonen

Vous pouvez trouver ce qui suit propriété Boost.Build :

address-model=64
0
sergtk