visual studio snippet plugin code autocompletar visual-studio visual-c++ boost

visual-studio - snippet - visual studio code html shortcut



Aumento de compilaciĆ³n con msvc 14.1(VS2017 RC) (4)

Basado en las respuestas de KindDragons y CPlusPlus OOA y D, compilé Boost 1.63. Para 64bit. Ejecute el símbolo del sistema "Símbolo del comando de x64 Native Tools para VS 2017":

1) Ejecute: bootstrap.bat

2) abrir project-config.jam . Aquí esta el mio:

import option ; using msvc : 14.0 : "c:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64/cl.exe"; option.set keep-going : false ;

La parte: 14.10.25017 sigue cambiando con las actualizaciones de tu Windows SDK. Así que actualízalo en consecuencia.

3) Ejecute el b2 toolset=msvc-14.0 address-model=64

Estoy intentando construir boost 1.63 con las últimas msvc 14.1 y VS2017 RC. Así que hice todo lo que hago normalmente, abrí Development Cmd y luego ejecuté bootstrap.bat y ejecuté el comando

b2 -link=static -threading=multi

Por alguna razón, tengo esos errores:

E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools/msvc.jam:834: in generate-setup-cmd *** argument error * rule maybe-rewrite-setup ( toolset : setup-script : setup-options : version : rewrite-setup ? ) * called with: ( msvc : : : default : ) * missing argument setup-script E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools/msvc.jam:746:see definition of rule ''maybe-rewrite-setup'' being called E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools/msvc.jam:1076: in configure-really E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools/msvc.jam:201: in configure E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools/msvc.jam:153: in msvc.init E:/Coding/SDKs/boost_1_63_0/tools/build/src/build/toolset.jam:43: in toolset.using E:/Coding/SDKs/boost_1_63_0/tools/build/src/build/project.jam:1052: in using project-config.jam:3: in modules.load E:/Coding/SDKs/boost_1_63_0/tools/build/src/build-system.jam:249: in load-config E:/Coding/SDKs/boost_1_63_0/tools/build/src/build-system.jam:412: in load-configuration-files E:/Coding/SDKs/boost_1_63_0/tools/build/src/build-system.jam:524: in load E:/Coding/SDKs/boost_1_63_0/tools/build/src/kernel/modules.jam:295: in import E:/Coding/SDKs/boost_1_63_0/tools/build/src/kernel/bootstrap.jam:139: in boost-build E:/Coding/SDKs/boost_1_63_0/boost-build.jam:17: in module scope

No estoy familiarizado con el impulso así que tal vez uno de ustedes podría darme una pista


Boost 1.63 no es totalmente compatible con VS2017, pero puede engañarlo para encontrar el compilador de VC ++ 2017:

  1. Ejecute bootstrap.bat en el directorio boost
  2. Actualice el archivo project-config.jam para incluir: using msvc : 14.0 : <path to x86 or x64 cl.exe> . Debería ser algo como "c:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.24911/bin/HostX64/x64/cl.exe"
  3. Ejecute el "Símbolo del sistema de desarrollador para VS 2017 RC" desde el Menú de inicio de Windows a boostrap desde un shell configurado con x86 vcvars o x64 vcvars.
  4. Ejecute b2 toolset=msvc-14.0 en ese símbolo del sistema. Para la compilación x64, agregue address-model=64 a la línea de comando b2.

ACTUALIZACIÓN: Boost 1.64 debería ser compatible con VS2017

Ejecute "Símbolo del sistema de herramientas nativas x86 para VS 2017" o "Símbolo del sistema de herramientas nativas x64 para VS 2017" del Menú de inicio, que dentro del símbolo del sistema ejecute b2 :

32 bits: b2 toolset=msvc-14.1 --build-dir=.x86 --stagedir=stage_x86

64 bits: b2 toolset=msvc-14.1 address-model=64 --build-dir=.x64 --stagedir=stage_x64

Agregar link=shared para construir bibliotecas compartidas


Creé un script por lotes que construye binarios de 32 y 64 bits en el siguiente repositorio github: https://github.com/manuelgustavo/boost_build

El secreto radica en utilizar el símbolo del sistema para desarrolladores de Visual Studio 2017. Establece todas las variables de entorno según sea necesario.

Luego, desde allí, puedes ejecutar algo como:

por 32 bit:

b2.exe --toolset = msvc-14.0 architecture = x86 address-model = 32 --stagedir = ". / stage32" threading = multi --build-type = etapa completa

y para el 64 bit:

b2.exe --toolset = msvc-14.0 architecture = x86 address-model = 64 --stagedir = ". / stage64" threading = multi --build-type = etapa completa

O, si lo prefiere, simplemente vaya a https://github.com/manuelgustavo/boost_build y siga los pasos desde allí.


Un consejo más para construir con Visual Studio 2017 que funcionó en mi caso. Si ya ha creado Boost con la versión anterior de Visual Studio, elimine los archivos por lotes temporales generados por la secuencia de comandos Boots bootstrap ubicada en la carpeta TEMP de su usuario, por ejemplo:

C:/Users/MYUSER~1/AppData/Local/Temp/b2_msvc_14.1_vcvarsx86_amd64_.cmd

La solución proviene de este hilo: http://boost.2283326.n4.nabble.com/Building-boost-fails-with-VS2017-v15-5-2-td4700909.html