2015-07-22 27 views
9

Ho scaricato Clang 3.6.2 da this website e sto provando a configurarlo con Code :: Blocks in Windows. Sfortunatamente, non riesce a compilare un semplice programma "ciao mondo" per il fatto che non sa dove sia lo iostream.Perché Clang non viene fornito con le intestazioni di libreria standard?

Guardando attraverso la cartella di installazione, non sembra includere una libreria standard con esso. Perché? E come ottengo?

+0

Ho avuto lo stesso problema su Linux. clang ++ non è venuto con le intestazioni e ha guardato erroneamente le installazioni di gcc (non g ++) per cercare di capire dove poteva trovarle, e poi una volta deciso quale directory pensavano di trovarsi, non ha mai guardato per vedere se fossero effettivamente Là. Ho dovuto scaricare una versione successiva di g ++ per abbinare ciò che gcc era lì per far funzionare clang ++. – Scooter

risposta

4

La libreria standard NON fa parte del compilatore stesso. Fa parte dell'ambiente di runtime su una piattaforma particolare. Certo, alcune organizzazioni mettono insieme un "kit" con tutte le parti necessarie per costruire un'applicazione - potrebbe persino esserci qualcuno che confeziona un compilatore Clang con un runtime adatto.

In generale, si dovrebbe essere in grado di scaricare il Windows SDK e ottenere i file header rilevanti lì - e se si utilizza clang-cl, dovrebbe essere ampiamente compatibile con il compilatore MSVC [o fornire clang o clang++ con il corretto -fms-compatibility o qualsiasi altra cosa è chiamato].

O come suggerito nell'altra risposta, utilizzare libcxx, ma non è completo al 100% per Windows.

1

Hanno una libreria standard C++: libcxx.llvm.org. Ma non è completamente supportato sulla piattaforma Windows.

+0

Non completamente supportato? Puoi elaborare? – Therhang

+0

@Therhang, l'ultima volta che ho sentito, la situazione di eccezione (IIRC, il lato Structured Exception Handling) era un problema difficile. – chris

+1

@Therhang: sul loro sito web hanno un elenco di piattaforme supportate. Non include Windows. Ma dicono: _ "Sono in corso le porte verso altre piattaforme. Ecco i risultati dei test recenti per Windows e Linux." _ –