voglio usare Clang e LibTooling per creare alcuni strumenti di C++ di analisi sorgente e di trasformazione. Ho creato Clang e LibTooling dopo il tutorial this e sono stato in grado di eseguire e creare alcuni strumenti di analisi e compilare programmi C++ utilizzando il binario Clang che ho creato. Tuttavia, se includo le intestazioni dalla libreria standard (nei file di origine o nei miei strumenti), mi imbatto in problemi durante la compilazione o l'esecuzione dei file/strumenti di origine. Per esempio, se corro clang-verifico il seguente file C++ fonte:Come utilizzare libreria standard con Clang e LibTooling
#include <iostream>
int main() {
std::cout << "Hello";
return 0;
}
ottengo "errore fatale: file 'iostream' non trovato". (Nota: posso compilare programmi C++, ad esempio quelli con classi definite dall'utente, solo programmi C++ che usano la libreria standard.) Nel tentativo di risolvere il problema, ho creato libC++ (seguendo la guida this, costruendola nel progetto llvm/directory in cui ho creato LLVM e Clang), ma ho ancora problemi con Clang e gli strumenti per usare libC++. Ora, se provo a compilare un file di prova utilizzando:
export CPLUS_INCLUDE_PATH="~/clang-llvm/llvm/projects/libcxx/include"
export LD_LIBRARY_PATH="~/clang-llvm/llvm/projects/libcxx/lib"
~/clang-llvm/llvm/build/bin/clang++ ~/Documents/main.cpp
poi mi "errore fatale: file 'unistd.h' non trovato". Quindi la mia domanda è questa: come faccio a puntare correttamente Clang e i miei strumenti per usare libC++?
Sto facendo funzionare l'OS X Yosemite 10.10 e usando Clang 3.6.0.