J’ai construit les bibliothèques Boost x86 plusieurs fois, mais je n’arrive pas à construire des bibliothèques x64. Je lance l’invite de commande “Visual Studio 2005 x64 Cross Tools” et lance mon build habituel:
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?
Vous devez append le paramètre address-model=64
.
Regardez par exemple ici .
La réponse acceptée est correcte. Ajout de ceci au cas où quelqu’un d’autre googles cette réponse et ne parvient toujours pas à produire la version x64.
Voici ce que je devais faire pour créer Boost 1.63 sur VS 15 2017 Community Edition.
Commandes exécutées à partir de l’environnement VSD shell shell. 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 fichier .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) ...
Vous pouvez trouver la propriété Boost.Build suivante:
address-model=64