2016-03-21 14 views
5

La piattaforma è un server Windows 2012R2. Gli strumenti installati sono VS2015 con aggiornamento 1 e Windows Driver Kit 10.Impossibile creare boost 1.60 con Visual Studio 2015 Pro

Eseguo il prompt dei comandi di VS2015 x64 Native Tools, vai alla mia cartella boost_1_60_0 decompressa ed esegui bootstrap.bat (ho anche eseguito con l'opzione 'msvc').

Non riesce rapidamente:

Building Boost.Build engine 

Failed to build Boost.Build engine. 
Please consult bootstrap.log for further diagnostics. 

You can try to obtain a prebuilt binary from 

    http://sf.net/project/showfiles.php?group_id=7586&package_id=72941 

Also, you can file an issue at http://svn.boost.org 
Please attach bootstrap.log in that case. 

E il contenuto bootstrap.log:

### 
### Using 'vc14' toolset. 
### 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>md bootstrap 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c 
command.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
compile.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
constants.c 
debug.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
execcmd.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
execnt.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
filent.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
frames.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
function.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
glob.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
hash.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
hdrmacro.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
headers.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
jam.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
jambase.c 
jamgram.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
lists.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
make.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
make1.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
object.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
Generating Code... 
Compiling... 
option.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
output.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
parse.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
pathnt.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
pathsys.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
regexp.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
rules.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
scan.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
search.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
subst.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
timestamp.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
variable.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
modules.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
strings.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
filesys.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
builtins.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
md5.c 
md5.c(55): fatal error C1083: Cannot open include file: 'string.h': No such file or directory 
class.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
cwd.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
w32_getreg.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory 
Generating Code... 
Compiling... 
native.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
set.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
path.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
regex.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\modules\../mem.h(67): fatal error C1083: Cannot open include file: 'stdlib.h': No such file or directory 
property-set.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
sequence.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory 
order.c 
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\modules\../mem.h(67): fatal error C1083: Cannot open include file: 'stdlib.h': No such file or directory 
Generating Code... 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>exit /b 2 

ogni pensiero perché non posso costruire? This site suggerisce che dovrebbe essere molto veloce.

+0

[] (http://en.cppreference.com/w/cpp/header/cctype) è un colpo di testa libreria standard. Suggerisco di provare a compilare un programma Hello World. –

+0

Nessun problema. Ha usato il metodo "isalnum" per essere sicuro, ha funzionato bene. Trovato ctype.h in 'c: \ Programmi (x86) \ Kit di Windows \ 10 \ Include \ 10.0.10240.0 \ ucrt \ ctype.h'. – Jon

risposta

11

Basandosi sulla risposta di Tmayto e sul numero workaround di cui ho parlato nel mio commento, ho trovato che ctype.h non si trovava nella struttura di Visual Studio, ma piuttosto nella struttura di Kits di Windows. Inoltre, non era all'interno del percorso specificato da %INCLUDE%, ma in 10.0.10240.0\ucrt (e 10.0.10150.0\ucrt). Quindi, ho contrassegnato 10.0.10586.0 come nascosto oltre a wdf (vedi l'immagine sotto per i dettagli). Ora, la spinta sta costruendo.

MS ha davvero bisogno di sistemare le proprie cose! Appare uno degli script presuppone solo ciecamente che le intestazioni siano nella cartella "latest" o "highest-numbering".

Non so quali saranno le ripercussioni di questo in quanto non ho ancora iniziato a provare a compilare il driver che ci serve ... è molto sconcertante fare cose come questa e potenzialmente rompere qualcosa di essenziale in seguito.

UPDATE: Con WDK 10 & SDK 10 installato, la cartella 10.0.10586.0 è adeguatamente popolata, non c'è bisogno di segnare nascosto pure. Anche se non so quale kit abbia distribuito quella cartella, sospetto che la precedente mancanza di intestazioni all'interno fosse dovuta all'installazione di una versione precedente.

Mark the following folders "hidden"

+0

Sono contento che tu sia stato in grado di capirlo. Spero che Microsoft in realtà metta una correzione per questo diverso da questo strano "Copiamo tutte le tue librerie standard su un file non standard" – Tmayto

+0

Apparentemente, non hanno letto "La guida completa dell'idiota per non preparare l'installazione WDK di un cane" Grazie per il tuo aiuto! – Jon

+1

Questo non è corretto (Aggiornamento 3), dovrebbe nascondere qualcosa dopo '10.0.10240.0' (ultimo uno con 'ucrt'). Ad esempio' 10.0.14393.0' dovrebbe essere nascosto. – dashesy

2

Sembra che il linker non sia in grado di trovare le librerie standard di c/C++. Sembra che potrebbe esserci un problema con Windows Driver Kit 10 se ce l'hai, o ti mancano le librerie. In primo luogo, il check-in C:\Program Files\Microsoft Visual Studio 14.0\VC\include e vedere se si dispone di file in là, in particolare quelli come stddef.h, stdlib.h e ctype.h

In caso contrario, provare a rinominare la cartella C:\Program Files (x86)\Windows Kits\10\include\wdf a qualcosa come C:\Program Files (x86)\Windows Kits\10\include\00wdf

Sembra che le persone hanno avuto successo con quello a giudicare da questo git issue e questo stackoverflow issue.

+0

Beh, qualcosa è andato storto. Ho rimosso il WDK e fatto una riparazione su Visual Studio. Nonostante ciò, esiste una netta mancanza di include std nella directory VC \ include. Sembrano tutti presenti nell'albero \\ 10 \ Include di Windows Kits, in cui i sottodirectory includono 10.0.10150.0 \ ucrt e 10.0.10240.0 \ ucrt. Sto tentando di reinstallare il WDK e vedere se questo [soluzione alternativa] (https://connect.microsoft.com/VisualStudio/feedback/details/1610302/universalcrt-detection-break-when-windows-driver-kit-is-installed) sarà d'aiuto. – Jon

+0

Non è stato possibile rinominare il wdf né applicare l'attributo nascosto alla cartella wdf. :( – Jon

+0

Purtroppo ho esaurito le idee sfortunatamente. Hai provato a includere direttamente la directory in cui sono inclusi tutti gli standard di std in Visual Studio? Li collego come faresti con una libreria di terze parti e includo? Non ho mai provato ma potrebbe funzionare per te – Tmayto

Problemi correlati